zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然数据结构:顺序栈及基本操作

    顺序栈,即用顺序表实现栈存储结构
    在顺序表中设定一个实时指向栈顶元素的变量(一般命名为 top),top 初始值为 -1,表示栈中没有存储任何数据元素,及栈是"空栈"。一旦有数据元素进栈,则 top 就做 +1 操作;反之,如果数据元素出栈,top 就做 -1 操作。

     

     

    //元素elem进栈,a为数组,top值为当前栈的栈顶位置
    int push(int* a,int top,int elem){
        a[++top]=elem;
        return top;
    }
    top 变量的设置对模拟数据的 "入栈" 操作没有实际的帮助,它是为实现数据的 "出栈" 操作做准备的
    //数据元素出栈
    int pop(int * a,int top){
        if (top==-1) {
            printf("空栈");
            return -1;
        }
        printf("弹栈元素:%d
    ",a[top]);
        top--;
        return top;
    }
    #include <stdio.h>
    //元素elem进栈
    int push(int* a,int top,int elem){
        a[++top]=elem;
        return top;
    }
    //数据元素出栈
    int pop(int * a,int top){
        if (top==-1) {
            printf("空栈");
            return -1;
        }
        printf("弹栈元素:%d
    ",a[top]);
        top--;
        return top;
    }
    int main() {
        int a[100];
        int top=-1;
        top=push(a, top, 1);
        top=push(a, top, 2);
        top=push(a, top, 3);
        top=push(a, top, 4);
        top=pop(a, top);
        top=pop(a, top);
        top=pop(a, top);
        top=pop(a, top);
        top=pop(a, top);
        return 0;
    }
  • 相关阅读:
    浅谈Java中的栈和堆
    Java运行时内存划分
    浅谈Static
    浅谈同一家公司多个系统,共用登录用户名和密码
    浅谈Final
    浅谈StringBuffer
    浅谈加密算法BCrypt
    序列表 批量的含义
    安装activemq和java代码实现生产和消费
    Restful
  • 原文地址:https://www.cnblogs.com/tszr/p/12232271.html
Copyright © 2011-2022 走看看