创建链栈,实现其入栈和出栈等操作

原创 2018年04月17日 21:22:28

#include <iostream>

using namespace std;

struct LinkStack

{

    int data;

    LinkStack *next;

};

void push(LinkStack *&S,int data)  //入栈

{

    LinkStack *p=new LinkStack;

    p->data=data;

    p->next=S;

    S=p;

}

void pop(LinkStack *&S)    //出栈

{

    LinkStack *q=S;

    S=S->next;

    delete q;

}        

int getTop(LinkStack *S)    //显示栈顶元素

{

    return S->data;

}

void test(LinkStack *&S)

{

    int i=1;

    while(i)

    {

        cin>>i;

        if(i>0)

            push(S,i);

        if(i<0)

        {

            cout<<"getTop="<<getTop(S)<<endl;

            pop(S);

        }

        if(i==0)

            break;

    }

}

void show(LinkStack *S)

{

    while(S)

    {

        cout<<S->data<<" ";

        S=S->next;

    }

}

int main()

{

    LinkStack *S=NULL;

    test(S);

    show(S);

    return 0;

}

链栈基本操作 出栈 入栈 创建

  • 2009年11月05日 08:27
  • 2KB
  • 下载

实验3.2 栈和队列——链栈

一、实验目的 1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。 2、   学会使用栈和队列解决实际问题。 二、实验内容 建立一个顺序栈,实现栈的...
  • Ida_adI
  • Ida_adI
  • 2017-10-21 17:15:46
  • 62

[数据结构]c语言实现链栈的入栈,出栈,清空,销毁等操作

最近在学习数据结构中的栈,于是在此记录一下栈的抽象数据类型/* 栈的抽象数据类型 ADT 栈(stack) Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系 Operatio...
  • the_victory
  • the_victory
  • 2016-10-04 17:17:08
  • 6829

数据结构顺序栈的创建、初始化、出栈、入栈及销毁

开始学习数据结构已经一个月了,一共上了16节课,开始还是有点困难,毕竟过了一个暑假,C++的知识有些遗忘,还有就是指针部分学习海华丝不够扎实,所以这个月在数据结构这个课程上面,还是有点点吃力,所以先开...
  • Seven_Yang_C
  • Seven_Yang_C
  • 2015-09-26 22:56:38
  • 2370

链栈的定义、初始化、出栈、入栈等操作

#include using namespace std;  /*链栈的定义*/typedef struct sNode{       char data;       struct sNode * ...
  • hackerain
  • hackerain
  • 2010-10-09 20:37:00
  • 8285

数据结构 — 3.模式匹配

【问题描述】试编写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如"序列1&序列2"模式的字符序 列. 其中序列1和序列2中都不含字符'&',且序列2是序列1的逆序.例如,"a+b&b+a...
  • PeersLee
  • PeersLee
  • 2015-10-27 17:36:52
  • 3089

顺序栈, 链式栈的 初始化 销毁 入栈 出栈 取栈顶元素 方法的实现

栈的特点:后进先出一、顺序栈如果在顺序表的头部入栈,则需要将原有站内的元素依次后移,时间复杂度On,所以可以采用尾部入栈,入栈时只需要把size下标设置为指定元素,出栈时直接删除下标为size-1就行...
  • DuckyLoser
  • DuckyLoser
  • 2018-04-12 15:50:47
  • 27

【数据结构】用C++编写栈及基本操作(包括入栈,出栈,获得栈顶,摧毁,清空等等)

//【数据结构】用C++编写栈及基本操作(包括入栈,出栈,获得栈顶,摧毁,清空等等) //头文件 #ifndef _SEQ_STACK_ #define _SEQ_STACK_ #includ...
  • doudouwa1234
  • doudouwa1234
  • 2015-05-31 22:50:40
  • 1509

编程实现栈的入栈与出栈操作

#include #include using namespace std; typedef struct student{ int data; struct student * next;...
  • qinhan728
  • qinhan728
  • 2013-09-06 21:22:22
  • 1147

【数据结构实验二】顺序栈的建立、入栈和出栈

版权申明: 本实验的实验目的,实验内容,实验要求归东北大学所有,未经许可禁止转载。 实验二 顺序栈的建立、入栈和出栈 实验目的: 掌握栈的创建、入栈和出栈操作;理解顺序栈在入栈和出...
  • King_HAW
  • King_HAW
  • 2017-04-01 09:54:37
  • 2290
收藏助手
不良信息举报
您举报文章:创建链栈,实现其入栈和出栈等操作
举报原因:
原因补充:

(最多只允许输入30个字)