> 백엔드 개발 > C++ > 스택 데이터 구조 | 후입선출(LIFO)

스택 데이터 구조 | 후입선출(LIFO)

Mary-Kate Olsen
풀어 주다: 2024-10-23 19:07:02
원래의
887명이 탐색했습니다.
  1. - 푸시(요소 추가): 스택의 맨 위에 요소를 추가합니다.
  2. - Pop(요소 제거): 맨 위에서 요소를 제거합니다.
  3. - isFull: 스택이 한도(이 경우 10)에 도달했는지 확인합니다.
  4. - isEmpty: 스택이 비어 있는지 확인합니다.
  5. - 디스플레이: 스택 요소를 표시합니다.

1.예:
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>

로그인 후 복사

2.예:
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>

로그인 후 복사

출력:

Stack Data Structure | Last In First Out (LIFO)

사용자 입력이 포함된 C 언어 스택

#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;
}

로그인 후 복사

출력 예:

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...

로그인 후 복사

위 내용은 스택 데이터 구조 | 후입선출(LIFO)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿