栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

链栈的入栈与出栈

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

链栈的入栈与出栈

前言

本文将介绍链栈的入栈与出栈的操作。

输入描述

整数n

n个元素

输出描述 

 n个元素按出栈顺序输出

具体代码 
#include
#include
using namespace std;

#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef char SElemType;

typedef struct StackNode {
SElemType data;
struct StackNode *next;
} StackNode, *linkStack;
Status Push(linkStack &S, SElemType e);
Status Pop(linkStack &S, SElemType &e);

//算法 链栈的初始化
Status InitStack(linkStack &S) { // 构造一个空栈 S,栈顶指针置空
S = NULL;
return OK;
}

int main() {
linkStack s,p;
int n,i;
SElemType x,t;
InitStack(s); 
cin>>n;
for(i=0;i>x;
    Push(s,x);
}
//出栈   
while(Pop(s,t))
    {
    cout<data = e; //将新结点数据域置为e
p->next = S; //将新结点插入栈顶
S = p; //修改栈顶指针为p
return OK;
}

//链栈出栈
Status Pop(linkStack &S, SElemType &e)
{
    linkStack x;
    //判断链表是否为空表
    if(S == NULL)
        return ERROR;
    else
        e = S->data;
        x = S;
        S = S->next;
        delete x;
    return OK;

}
输入样例 
3
A
B
C
输出样例 
C
B
A
总结 

链栈的入栈与出栈就相当于链表的尾插和倒向输出。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号