美文网首页
栈的更简洁的操作

栈的更简洁的操作

作者: 始于尘埃 | 来源:发表于2019-07-26 14:23 被阅读0次
//顺序栈的基本操作 - 简单的排队操作 
#include <iostream>
#include <string>
using namespace std;

typedef int Elemtype;
#define Maxsize 100
typedef struct{
    string Name;
    Elemtype Num;
}People;
typedef struct{
    People *top;
    People *base;  //设置基地(栈顶、栈尾) 
    int stackSize; //栈的最大容量 
}Stack;  

//初始化
bool InitStack(Stack &S){
    S.base = new People[Maxsize];
    if(!S.base) exit(0); 
    S.top = S.base;
    S.stackSize = Maxsize;
}



//入栈 
bool Push(Stack &S,string name,Elemtype num){
    if(S.top - S.base == S.stackSize) return 0; //栈满
    S.top->Name =  name;
    S.top->Num =  num;
    S.top++;
    cout<<"成功入栈"; 
    
}


//出栈 
bool Pop(Stack &S){
    string name;
    Elemtype num;
    if(S.top == S.base) return 0;
    S.top--;
    name = S.top->Name;
    num = S.top->Num;
    cout<<num<<num<<endl;
    cout<<"成功出栈";
}

int main(){
    Stack s;
    InitStack(s);
    int i = 0,j = 0;
    string name;
    int num;
    for(i;i<3;i++){
        cout<<"请输入:\n"; 
        cin>>name>>num;
        Push(s,name,num);
    }
    for(j;j<3;j++){
        Pop(s);
    }
    return 0;
}

相关文章

  • 栈的更简洁的操作

  • 数据结构-栈(stack)和队列

    比如浏览器的上一步,就是栈的概念,后进先出 栈的插入和删除操作 栈的定义 栈的创建 入栈操作 出栈操作 栈的理解 ...

  • 作业帮做-栈结构验证

    顺序栈操作验证 实验目的 掌握栈的顺序存储结构; 验证栈的操作特性; 掌握顺序栈的基本操作实现方法。 实验内容 建...

  • php刷leetCode有效的括号

    此题主要考察栈的操作栈(后进先出(LIFO))所有操作都是通过栈顶部的元素来操作的 解题方法 : 遇上(压栈,遇上...

  • Leetcode-224-Basic Calculator

    表达式计算的题目考研的时候做过很多了,更复杂的也见过,比如包含负数和乘除的,其实思路都是利用操作栈和操作数栈来记录...

  • 栈和队列

    顺序栈的基本操作: 链栈的基本操作 顺序队的基本操作 链队的基本操作

  • 栈的操作

  • 5.栈Stack

    目录:1.栈的定义2.栈的图解3.栈定义操作4.栈的实现 1. 栈的定义 2. 栈的图解 3. "栈"定义的操作 ...

  • 算法基础——栈与队列

    一、栈 (Stack) 定义:栈是限定在表尾进行插入和删除操作的线性表。 栈的插入操作,叫作进栈,也叫压栈、入栈。...

  • 栈的Java实现

    利用数组实现栈的操作,栈的操作是先进后出。

网友评论

      本文标题:栈的更简洁的操作

      本文链接:https://www.haomeiwen.com/subject/jlarrctx.html