代码内容:链栈的创建,入栈,出栈!
数据元素为数字!

主要函数:
void In(LinkStack L) //前插法建立含有n个数字的链栈
void Pop(LinkStack L, int e)//一个元素出栈
void Push(LinkStack L )//入栈一个元素
void Display(LinkStack L)//显示栈中元素
main函数建议读者自己再写一个!

源码:

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

typedef struct StackNode
{
int data;//数据域
struct StackNode *next;//指针域
}StackNode, *LinkStack;

void In(LinkStack L) //前插法建立含有指定个数数字的链栈
{ int n; //输入数字的个数
LinkStack r = L;
printf(“请输入数字的个数:”);
scanf("%d",&n);

printf("请输入%d个数字:",n);
for(int i=0; i< n; i++)           //
{   LinkStack p =(StackNode*)malloc(sizeof(StackNode));scanf("%d",&p->data );p->next = r->next ;r->next = p;
}

}

void Pop(LinkStack L, int e)//一个元素出栈
{ LinkStack p;
if(L == NULL)
printf(“栈中无元素!”);
p=L->next ;
e=p->data ;
L->next = p->next ;
free§;
printf(“出栈元素是:%d”,e);
delete§;
printf("\n");
}

void Push(LinkStack L )//一个元素入栈
{
LinkStack p = (StackNode*)malloc(sizeof(StackNode));
printf(“请输入入栈元素:”);
scanf("%d",&p->data);
p->next = L->next ;
L->next = p;
}

在这里插入代码片

void Display(LinkStack L)//显示栈中元素
{ LinkStack r=L->next ;
printf(“栈中元素是:”);
while(r)
{
printf("%d “,r->data);
r=r->next ;
}
printf(”\n");
}

int main()
{ int e;
LinkStack L =(StackNode*)malloc(sizeof(StackNode));
L->next = NULL;

In(L);      //向栈中存入指定数量数字
Display(L);Push( L );   //一个元素入栈
Display(L);Pop( L, e);//一个元素出栈
Display(L);//显示栈中所有元素 return 0;

}

运行截图:

如有错误敬请指正,欢迎留言!

链栈的创建,入栈,出栈!相关推荐

  1. 大话数据结构第四章栈的基本概念与出栈入栈操作

    一.栈的顺序存储结构 1.基本概念 栈顶就是表尾. 栈顶是栈插入和删除的地方. 栈就是只允许在表尾进行添加或删除,是顺序存储结构线性表的特例或者说简化. 为什么说是简化呢?相对于顺序存储结构来说栈只允 ...

  2. 【剑指offer-Java版】22栈的压入弹出序列

    栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...

  3. 剑指offer-21.栈的压入弹出序列

    1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  4. 在堆栈中,push为入栈操作,pop为出栈操作

    LinkedList提供以下方法:(ArrayList无此类方法) addFirst(); removeFirst(); addLast(); removeLast(); 在堆栈中,push为入栈操作 ...

  5. 算法笔记--简单实现栈的先入后出(FILO,First In Last Out)功能

    算法笔记–简单实现栈的先入后出(FILO,First In Last Out)功能 stack 栈,是一个 先入后出(FILO,First In Last Out)的 有序列表,可以形象地理解为手枪的 ...

  6. 1.栈的压栈(入栈、进栈)及出栈 2.顺序表及链表的缓存命中

    一.栈的压栈(入栈.进栈)及出栈 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作.进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底.栈中的数据元素 ...

  7. Java之根据入栈顺序是否能得到出栈顺序

    入栈.出栈顺序匹配 前言 一.Java入栈.出栈 1.例题 二.题解 A.纯正的模拟 B.LinkedHashSet C.利用CPU 总结 参考文献 前言 给出入栈顺序,匹配一个出栈顺序是否合法,即出 ...

  8. 已知入栈顺序求所有的出栈顺序已知出栈顺序求所有的入栈顺序

    一.已知入栈顺序求所有的出栈顺序 已知入栈顺序是{1,2,3,4,5},求所有的出栈顺序? 我的思路: 既然入栈顺序固定,我觉得可以使用递归来做. 先定义一个函数,比如说叫做help. //伪代码 v ...

  9. 栈 - 关于出栈序列,判断合法的出栈序列

    文章目录 1 引例 2 做题方法 3 原因 3.1 选项D(4 3 1 2)的模拟 1 引例 (例)设栈的入栈序列是 1 2 3 4,则下列不可能是其出栈序列的是( ). A. 1 2 4 3 B. ...

  10. 数据结构实验之栈与队列七:出栈序列判定

    Description 给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次.输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序 ...

最新文章

  1. Java 获取 Julian Day (Calendar)
  2. Java web访问MySql数据库分页查询
  3. Spring AOP相关术语解释及简单使用
  4. Jdbc连接mysql的五种连接方式
  5. Python 字典 dict() 函数
  6. 软件测试之SOL面试题(一)
  7. 17.视图--SQL
  8. 数组、字符串、集合的相互转换
  9. grpcio安装不了
  10. Nachos操作系统-文件系统添加多级目录
  11. 【原】如何免财富值下载百度文库文档?如何下载百度文库源文档?
  12. 指派问题程序c语言,指派问题lingo程序样例
  13. 机器学习基石和机器学习技法_机器学习和洞穴寓言寓言
  14. 6.插入脚注后,正文空一行
  15. 桌面图标背景色解决方案
  16. Allegro_SMT手工焊接辅助程序
  17. 计算机中丢失tcalc,【图】通达信指标公式全部丢失,怎样能找回来_炒股软件,炒股,炒股公式,股票指标,股票软件_股票软件技术交流论坛_理想论坛 - 股票论坛...
  18. 关于python中print失灵问题
  19. 通达信全市场数据导入指南—基于股票量化分析工具V2.0!
  20. 《穷爸爸富爸爸》良句收录和读后感想

热门文章

  1. 双目运算符和三目运算符的使用浅谈
  2. 微信小程序云开发---发送邮件功能
  3. 把文件夹名字全部变成大写
  4. 《青山翠影》叁 爱情的模样 | 似懂非懂
  5. solidworks素材_视频剪辑中的视频素材是从哪里找的?
  6. 与AWS、Azure合作的“公共云之友”Commvault,如今牵手阿里云
  7. deepin、UOS应用软件标题栏大额头问题解决
  8. 如何用origin作图
  9. C语言程序的入口真的是main方法吗?
  10. 认证与授权流程与spring boot整合 spring security(1)