《栈的建立、插入、删除》由会员分享,可在线阅读,更多相关《栈的建立、插入、删除(7页珍藏版)》请在金锄头文库上搜索。
1、-1-昆明理工大学信息工程与自动化学院学生实验报告(20112012 学年 第 1 学期)课程名称:数据结构 开课实验室:计算中心 204 室 2011 年 10 月 21 日年级、专业、班 学号 姓名 成绩实验项目名称 栈的建立、插入、删除 指导教师教师评语教师签名:年 月 日1、实验内容和目的目的:栈的建立、插入、删除。内容:撑握栈的使用,熟悉并学会运用栈的建立、插入、删除等。二、 上机实验环境计算中心 204;操作系统:Microsoft Visual C+;软件平台:Microsoft Visual C+三、上机操作方法、步骤打开计算机进入 WindowsXP在桌面建立自己的工作目录进
2、入 Microsoft Visual C+ 6.0文件/新建/文件/C+ Source File/位置/命名输入源程序编译/组建运行。四、源程序与运行结果:/顺序栈-2-#include#include#include# define m 10typedef structint am;int top;stack;void main()int isempty(stack *s); /判断栈空int isfull(stack *s); /判断栈满int gettop(stack *s,int x);int get(stack *s,int b); /取结点 bvoid push(stack *s,
3、int x);void pop(stack*s); /出栈int i,x,b,c,j=0;stack *s;s=(stack *)malloc(sizeof(stack);s-top=0;printf(请输入十个数字:n);-3-for(i=0;itop=0)return 1;else return 0;int isfull(stack *s)if(s-top=m)return 1;else return 0;int gettop(stack *s,int x)int i;i=isempty(s);if(i)printf(empty);elsex=s-as-top-1;-5-return x;
4、void push(stack *s,int x)int i;i=isfull(s);if(i)printf(overflow);else s-as-top=x;s-top+;int get(stack *s,int b)int c;c=s-ab-1;return c;void pop(stack*s) /出栈int i,j,t;t=s-top;for(i=0;ias-top-1);s-top-;printf(%dn,s-as-top-1);s-top-;j=isempty(s);if(j)printf(出栈成功!n);栈的创建和建立的个栈查找栈中某个特定的元素-7-让整个栈的元素正确的出栈-8-五、上机实践收获和体会: 栈是限制仅在表的一端进行插入和删除运算的线性表,能插入和删除的一端是栈顶,另一端为栈底。栈和链表一样,具有多种几基本运算,如置空栈、判断栈空、进出栈等操作。而这些内容看似不难,但要使其在程序中运行就不容易了,现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。