首页 > 其他分享 >2023-03-30-链栈LinkStack的实现

2023-03-30-链栈LinkStack的实现

时间:2023-03-30 21:22:20浏览次数:39  
标签:03 return LinkStack int 30 栈顶 SNode data

 1 #include <stdio.h>
 2 #include <malloc.h>
 3 
 4 typedef struct SNode
 5 {
 6     int data;
 7     struct SNode *next;
 8 }SNode,*LinkStack;
 9 //栈的主要操作是在栈顶进行插入和删除,所以将链表的头部看为栈顶最合适
10 void initLinkStack(LinkStack S)//初始化
11 {
12     S=NULL;
13 }
14 
15 LinkStack Push(LinkStack S,int value)//入栈操作
16 {
17     SNode *p;
18     p=(SNode *)malloc(sizeof(SNode));
19     p->next=S;
20     p->data=value;
21     S=p;
22     return S;
23 }
24 
25 LinkStack Pop(LinkStack S,int *e)//出栈操作
26 {
27     if(S==NULL)
28     {
29         return 0;
30     }
31     else
32     {
33         *e=S->data;
34         SNode *q;//存储删除的节点来进行释放
35         q=S;
36         S=S->next;
37         free(q);
38         return S;//由于对头指针变量进行了更改,所以需要返回头指针S
39     }
40     
41 }
42 
43 int GetTop(LinkStack S)//获取栈顶元素
44 {
45     if(S!=NULL)
46     {
47         return S->data;
48     }
49 }
50 
51 int main()
52 {
53     LinkStack S;
54     S=Push(S,666);
55     S=Push(S,999);
56 
57     
58     int *e;
59     int a=0;
60     e=&a;//指针初始化
61 
62     S=Pop(S,e);
63     printf("%d",GetTop(S));
64     return 0;
65 }

 

标签:03,return,LinkStack,int,30,栈顶,SNode,data
From: https://www.cnblogs.com/ryuichi-ssk/p/17274348.html

相关文章

  • log-2023-03-30
    TODO:解析staticroute所在行,preference根据interface连接获取layer2拓扑peer不连通的诊断PAPERS:*CODE:list/set对象循环时如果会动态删除:用iterator(for循环会报错)。@linkCONFUSIONS:在IGP信息不全的情况下,不能直接推出实际转发路径(也就是不能先生成转发路径树-......
  • 2023-03-30-栈的基本操作
    1//栈stack234#include<stdio.h>5#include<stdbool.h>67#defineMAXSIZE10089typedefstruct10{11intdata[MAXSIZE];//数据12inttop;//栈顶指针,初始为-113}*SqStack;1415voidinitStack(SqStackS)//初始化栈16{17......
  • 总结20230330
    今天是周四,又是一周内上课时间最短的一天。今天的课是计算机网络和羽毛球课;今天是把计算机网络昨天的课补了回来,今天计网开启了第四章,讲的是网络层。下午的羽毛球课时间是打双打比赛,结果不理想,打了两场,输了一场,还是再接再厉吧,下节课加油!今天晚上接着学习小程序。......
  • 230330实验三
    实验1 1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN806voidprint_text(intline,intcol,chartext[]);//函数声明7voidprint_spaces(intn);//函数声明8voidprint_blank_l......
  • 密码学SAT入门003——关于流密码入门算法A5-1的学习
      电子科技大学《现代密码学》慕课截图——感谢聂旭云、廖永建、熊虎等几位老师的讲解                                         算法code A5_1.algprogramdescribe......
  • 2023年3月30日(软件工程日报)
    针对团队作业要求学习遗传算法:一类借鉴生物界自然选择和自然遗传机制的随机搜索算法,非常适用于处理传统搜索方法难以解决复杂和非线性优化问题。基本思想:模拟自然界的繁殖,交叉,基因突变的现象,在每次迭代中保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子对个体进......
  • 构建之法阅读笔记03
    ①写了再改模式②瀑布模型(WaterfallModel)是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段......
  • 03-网络安全-web渗透环境搭建(基础篇)
    01--所需系统环境:虚拟主机系统部署(vmware,虚拟主机创建、虚拟主机网络配置(桥接,便于网络中多个主机都能访问虚拟主机)、虚拟软件功能,快照、克隆、镜像文件加载,ova文件制作)(模拟被攻击者、攻击者、通讯方)windows2003/2008windows 7/10linux系统  kail/contos02--网站服务架......
  • 2023年3月30日
    计划修改登陆页面和其他界面的一些背景图**和小芳汇报进度,先总结总结先删除不必要的东西复习之前的记录,搞清楚ssm框架,项目结构,然后开发mock和审核,看在哪加好好看一下狂神的spring整合的功能实现执行09点48分  开始11点40分  完成中期报告记录已解决的问题......
  • 202031607232-张玉国 实验一 软件工程准备 - 软件工程
    项目与内容项目内容班级博客链接班级博客本次作业要求链接作业要求我的课程学习目标学会在程序设计前进行合理的需求分析、可行性研究本次作业在哪些方面帮我实现学习目标带我了解软件工程任务任务一已完成问卷调查的填写。任务二已在博客园平......