Maison > développement back-end > C++ > Structure des données de la pile | Dernier entré, premier sorti (LIFO)

Structure des données de la pile | Dernier entré, premier sorti (LIFO)

Mary-Kate Olsen
Libérer: 2024-10-23 19:07:02
original
946 Les gens l'ont consulté
  1. - Push (Ajouter un élément) : Ajoutez un élément en haut de la pile.
  2. - Pop (Supprimer un élément) : Supprimez l'élément du haut.
  3. - isFull : Vérifiez si la pile a atteint sa limite (dans ce cas, 10).
  4. - isEmpty : Vérifiez si la pile est vide.
  5. - Affichage : Afficher les éléments de la pile.

1.Exemple :
index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Stack | Last In First Out (LIFO) or First in Last out | - By Sudhanshu Gaikwad (FILO)</title>
  </head>
  <body>
    <h3>Stack in Javascript</h3>
    <script>
      let Data = [];

      // Add an element to the array
      function AddEle(Ele) {
        if (isFull()) {
          console.log("Array is Full, Element can't be added!");
        } else {
          console.log("Element Added!");
          Data.push(Ele);
        }
      }

      // Check if the array is full
      function isFull() {
        return Data.length >= 10;
      }

      // Remove an element from the array
      function Remove() {
        if (isEmpty()) {
          console.log("Array is Empty, can't remove element!");
        } else {
          Data.pop();
          console.log("Element Removed!");
        }
      }

      // Check if the array is empty
      function isEmpty() {
        return Data.length === 0;
      }

      // Display the array elements
      function Display() {
        console.log("Updated Array >> ", Data);
      }

      // Example usage
      AddEle(55);
      AddEle(85);
      AddEle(25);
      Remove();
      Display(); // [55, 85]
    </script>
  </body>
</html>

Copier après la connexion

2.Exemple :
index2.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>What is Stack in JavaScript | By Sudhanshu Gaikwad</title>
    <style>
      * {
        box-sizing: border-box;
      }

      body {
        font-family: "Roboto Condensed", sans-serif;
        background-color: #f4f4f4;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100vh;
      }

      .container {
        background-color: white;
        padding: 20px;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        max-width: 400px;
        width: 100%;
        margin-bottom: 20px;
      }

      h3 {
        color: #333;
        text-align: center;
        margin-bottom: 20px;
      }

      input {
        padding: 10px;
        width: calc(100% - 20px);
        margin-bottom: 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
      }

      button {
        padding: 10px;
        margin: 10px 0;
        border: none;
        border-radius: 5px;
        background-color: #292f31;
        color: white;
        cursor: pointer;
        width: 100%;
      }

      button:hover {
        background-color: #e9e9ea;
        color: #292f31;
      }

      .message {
        margin-top: 15px;
        color: #333;
        font-size: 16px;
        text-align: center;
      }

      .footer {
        text-align: center;
        margin-top: 20px;
        font-size: 14px;
        color: #555;
      }

      /* Responsive design */
      @media (max-width: 768px) {
        .container {
          padding: 15px;
          max-width: 90%;
        }

        button {
          font-size: 14px;
        }

        input {
          font-size: 14px;
        }
      }
    </style>
  </head>

  <body>
    <div class="container">
      <!-- Title -->
      <h3>Stack in JavaScript</h3>

      <!-- Input section -->
      <input type="text" id="AddEle" placeholder="Enter an element" />

      <!-- Buttons section -->
      <button onclick="AddData()">Add Element</button>
      <button onclick="RemoveEle()">Remove Element</button>
      <button onclick="Display()">Show Array</button>

      <!-- Message sections -->
      <div id="Add" class="message"></div>
      <div id="Remove" class="message"></div>
      <div id="Display" class="message"></div>
    </div>

    <!-- Footer with copyright symbol -->
    <div class="footer">
      &copy; 2024 Sudhanshu Developer | All Rights Reserved
    </div>

    <script>
      let Data = [];

      // Function to add an element to the stack
      function AddData() {
        let NewEle = document.getElementById("AddEle").value;

        if (isFull()) {
          document.getElementById("Add").innerHTML = "Array is full, element cannot be added!";
        } else if (NewEle.trim() === "") {
          document.getElementById("Add").innerHTML = "Please enter a valid element!";
        } else {
          Data.push(NewEle);
          document.getElementById("Add").innerHTML = `Element "${NewEle}" added!`;
          document.getElementById("AddEle").value = ""; 
          console.log("Current Array: ", Data); 
          Display(); 
        }
      }

      function isFull() {
        return Data.length >= 10;
      }

      function RemoveEle() {
        if (isEmpty()) {
          document.getElementById("Remove").innerHTML = "Array is empty!";
        } else {
          let removedElement = Data.pop();
          document.getElementById("Remove").innerHTML = `Element "${removedElement}" removed!`;
          console.log("Current Array: ", Data);
          Display(); 
        }
      }

      function isEmpty() {
        return Data.length === 0;
      }

      function Display() {
        let displayArea = document.getElementById("Display");
        displayArea.innerHTML = ""; 
        if (Data.length === 0) {
          displayArea.innerHTML = "No elements in the Array!";
          console.log("Array is empty.");
        } else {
          for (let i = 0; i < Data.length; i++) {
            displayArea.innerHTML += `Element ${i + 1}: ${Data[i]}<br>`;
          }
          console.log("Displaying Array: ", Data); 
        }
      }
    </script>
  </body>
</html>

Copier après la connexion

Sortie :

Stack Data Structure | Last In First Out (LIFO)

Pile en langage C avec saisie utilisateur

#include <stdio.h>
#include <stdbool.h>

#define MAX 10 

int Data[MAX];
int top = -1;  

// Function to check if the stack is full
bool isFull() {
    return top >= MAX - 1;
}

// Function to check if the stack is empty
bool isEmpty() {
    return top == -1;
}

// Function to add an element to the stack (Push operation)
void AddEle() {
    int Ele;
    if (isFull()) {
        printf("Array is Full, Element can't be added!\n");
    } else {
        printf("Enter an element to add: ");
        scanf("%d", &Ele); // Read user input
        Data[++top] = Ele; // Increment top and add element
        printf("Element %d Added!\n", Ele);
    }
}

// Function to remove an element from the stack (Pop operation)
void Remove() {
    if (isEmpty()) {
        printf("Array is Empty, can't remove element!\n");
    } else {
        printf("Element %d Removed!\n", Data[top--]); // Remove element and decrement top
    }
}

// Function to display all elements in the stack
void Display() {
    if (isEmpty()) {
        printf("Array is Empty!\n");
    } else {
        printf("Updated Array >> ");
        for (int i = 0; i <= top; i++) {
            printf("%d ", Data[i]);
        }
        printf("\n");
    }
}

int main() {
    int choice;
    do {
        printf("\n1. Add Element\n2. Remove Element\n3. Display Stack\n4. Exit\n");
        printf("Enter your choice: ");
        scanf("%d", &choice); // Read the user's choice

        switch (choice) {
            case 1:
                AddEle();
                break;
            case 2:
                Remove();
                break;
            case 3:
                Display();
                break;
            case 4:
                printf("Exiting...\n");
                break;
            default:
                printf("Invalid choice! Please select a valid option.\n");
        }
    } while (choice != 4);

    return 0;
}

Copier après la connexion

Exemple de sortie :

1. Add Element
2. Remove Element
3. Display Stack
4. Exit
Enter your choice: 1
Enter an element to add: 55
Element 55 Added!

1. Add Element
2. Remove Element
3. Display Stack
4. Exit
Enter your choice: 3
Updated Array >> 55 

1. Add Element
2. Remove Element
3. Display Stack
4. Exit
Enter your choice: 4
Exiting...

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal