堆栈数据结构|后进先出 (LIFO)

– 推送(添加元素):将元素添加到堆栈顶部。- pop(删除元素):从顶部删除元素。- isfull:检查堆栈是否已达到其限制(在本例中为 10)。- isempty:检查堆栈是否为空。- 显示:显示堆栈元素。

1.示例:
索引.html

              stack | last in first out (lifo) or first in last out | - by sudhanshu gaikwad (filo)        

stack in javascript

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]

2.示例:
index2.html

              what is stack in javascript | by sudhanshu gaikwad          * {        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;        }      }            

stack in javascript

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]}
`; } console.log("displaying array: ", data); } }

输出:

堆栈数据结构|后进先出 (LIFO)

带有用户输入的 c 语言堆栈

#include #include #define max 10 int data[max];int top = -1;  // function to check if the stack is fullbool isfull() {    return top >= max - 1;}// function to check if the stack is emptybool 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 stackvoid 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 elementn2. remove elementn3. display stackn4. exitn");        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 Element2. Remove Element3. Display Stack4. ExitEnter your choice: 1Enter an element to add: 55Element 55 Added!1. Add Element2. Remove Element3. Display Stack4. ExitEnter your choice: 3Updated Array >> 55 1. Add Element2. Remove Element3. Display Stack4. ExitEnter your choice: 4Exiting...

以上就是堆栈数据结构|后进先出 (LIFO)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1461099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
日-任务管理(操作系统)
上一篇 2025年12月18日 13:03:20
Day – 配置 NixOS 以在 VSCode 中使用 C 调试器
下一篇 2025年12月18日 13:03:37

相关推荐

发表回复

登录后才能评论
关注微信