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

C语言 数据结构之链栈(基本操作)

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

C语言 数据结构之链栈(基本操作)

本文涉及的代码功能有:

  1. 链栈的初始化
  2. 链栈元素的压入
  3. 链栈元素的输出
#include
#include
typedef int ElemType;
typedef int status;
typedef struct linkStack{
      ElemType data;
      struct linkStack *next;
}Lnode,*List;
//链栈初始化
void initstack(List &s){
    s=NULL;
}

status push(List &s,ElemType e){
      List p = new Lnode;
      p->data=e;
      p->next = s;    
      s=p;
      printf("入栈成功!n");
}

status pop(List &s,ElemType &e){
    List p;
    if(s==NULL){printf("栈已空!n");return 0;}
    else{
    e=s->data;
    s=s->next;
    delete s;
    return 1;
    }
}
//入栈!
void pushstack(List &s){
    int n;
    ElemType e;
    printf("请输入入栈元素个数:");
    scanf("%d",&n);
    for(int i=0;idata;
    printf("栈顶元素为:%dn",e);
}
int main(){
    List s;
    int c;
    initstack(s);
    while(1){
        printf("入栈————1t出栈————2t获得栈顶————3t退出————0n");
        printf("请输入操作代码:");
        scanf("%d",&c);
        if(c==0)break;
        switch(c){
            case 1:pushstack(s);break;
            case 2:popstack(s);break;
            case 3:gettop(s);break;
            default :printf("操作代码不在范围内!n");
        }
    }
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/513123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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