#include<stdio.h>
#include<stdlib.h>
typedef struct stack {
int data;
struct stacknext;
}stack;
//栈:LIFO只能在栈顶删除插入(类似头插法)
stack
init() {
stack* L = (stack*)malloc(sizeof(stack));
L->data = 0;// 表示当前栈的元素个数,为0时表示空栈
L->next = NULL;
return L;
}
void judje(stack* L){
//第一步判断栈是否为空
//stack* un = L;
if (L->data == 0 || L->next == NULL)
printf(“栈空\n”);
else
printf(“栈顶元素是:%d\n”, L->next->data);
}
void insStack(stack* L, int data) {
stack* S = (stack*)malloc(sizeof(stack));
S->data = data;
S->next = L->next;
L->next = S;
L->data++;//表示栈元素加一
}
void outStack(stackL,int data){//delete函数
if (L->data == 0 || L->next == NULL)
printf(“栈空,删除失败\n”);
else {
printf(“删除栈顶元素%d\n新栈参数:\n”, L->next->data);
stack
S = L->next;
//L->next = L->next->next;
L->next = S->next;
free(S);//vs2022编译器中后面不再调用S结点即可成功执行free
//否则会是:free之前可运行但free之后的代码不能运行
}
}
void show(stack* L) {
stack* beiyong=L->next;
while (beiyong != NULL) {
printf("%d->", beiyong->data);
beiyong = beiyong->next;
}
printf(“NULL\n”);
}
int main() {
stack* L = init();
insStack(L, 1);
insStack(L, 3);
insStack(L, 5);
insStack(L, 7);
insStack(L, 9);
judje(L);
show(L);
outStack(L, 9);
judje(L);
show(L);
stack* S = init();
judje(S);
show(S);
}

数据结构栈的插入和删除相关推荐

  1. 栈的删除函数c语言,顺序栈的插入和删除

    <顺序栈的插入和删除>由会员分享,可在线阅读,更多相关<顺序栈的插入和删除(5页珍藏版)>请在人人文库网上搜索. 1.实验四顺序栈的插入和删除姓名:学号: 日期:一.实验目的: ...

  2. 数据结构单链表插入和删除操作

    单链表:先回顾单链表的特点  逻辑相邻 物理上不一定相连 首先初始化单链表,其中主要保存的是该节点自身的值以及下个节点的地址. 有效节点结构体设计: ​ struct Node{ ​ int data ...

  3. (数据结构)二叉排序树的插入、删除

    关于插入不多说,主要讲讲删除操作的第三种情况吧. 前面的两种情况比较简单,包含了只有左或者只有右还有左右都没 有的 第三个情况就比较复杂,左右子树都存在,想删除这个节点(设为P)我们采 用取代的方法, ...

  4. 数据结构栈(顺序栈、链栈、插入push、删除pop)、队(循环队,链队、入队push,出队pop)知识点梳理

    数据结构栈知识点梳理 一 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 不含任何元素的栈称为空栈 允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom) 具有LI ...

  5. 栈和队列的插入、删除等基本操作

    栈和队列 栈 栈:是一种特殊的线性表,其只允许在其固定的一段进行插入或者删除元素等操作:进行插入或者删除的一段称为栈顶,另一端称为栈顶: 栈的特性: 先进先出 后进后出 栈的构造(C语言实现) 1. ...

  6. 栈的top指针指向哪里_数据结构-栈

    数据结构-栈 更简单的介绍,在<程序是怎样跑起来的>一书中有简要形象的说明 一.栈的基本概念 栈是一种特殊的线性表,其插入删除操作都只能在表的尾部进行. 栈中允许插入.删除操作的一端称为栈 ...

  7. python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图

    python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...

  8. 数据结构--栈的基本概念与应用

    ​ 栈和队列是两种重要的线性结构.从数据结构的角度看,栈和队列也是线性表,其特特殊在于栈和队列的基本操作是线性表操作的子集,他们是操作受限的线性表,因此,可以称为限定性的数据结构. ​ 但是另一方面, ...

  9. 数据结构-----栈

    1.栈 1.1 栈的定义 栈是一种特殊的线性表.其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行.如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表. ...

最新文章

  1. Linux快捷键-命令行下
  2. 【Android】进程
  3. ABB RAPID SOCKET编程
  4. 这6部超经典的物理电影,居然还有人没有看过?
  5. Abp Uow 设计
  6. 我爱计算机视觉干货集锦分类汇总(2019年3月9日)
  7. 算法与数据结构(六):堆排序
  8. corelab mysql_ALinq 让Mysql变得如此简单_MySQL
  9. redirect与forward跳转的区别
  10. ftp4j的android应用
  11. android checkbox点击,android的CheckBox点击全选信息反馈不正常,该如何解决
  12. Atitit 文件远程传输读写协议 scp http ftp nfs webdav smb D:\Program Files\Git\usr\bin\scp.exe 4.密码安全策略不完善 在
  13. Matlab-香农编码
  14. python 转盘 圆形,用python实现一个转盘
  15. 5G时代下的人工智能发展
  16. 【DCANet2022】DCANet: Differential Convolution Attention Network for RGB-D Semantic Segmentation
  17. php中errorreporting,php中error_reporting函数用法详解_PHP教程
  18. 木兰天池全新景观2013闪亮登场
  19. 基于Skeleton的手势识别:SAM-SLR
  20. 苹果酱的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. java运算符或_java运算符
  2. PostgreSQL如何限制用户查看函数内容
  3. com.netflix.client.ClientException: Load balancer does not have available server for client: applica
  4. SQL中的左连接与右连接,内连接有什么区别
  5. 商情云 | php学习 | wampserver | 宝塔面板 | fastadmin框架 | JS学习
  6. 基于签证数据的国际关系分析研究
  7. maven assembly plugin使用
  8. 笔记本合上盖子,屏幕就无法点亮解决方法
  9. bio和bieos哪个标注模式好_2021秋招-NLP基础任务模型-NER
  10. 【图像笔记】深度图像和深度相机