资源描述
实验四 顺序栈的插入和删除姓名: 学号: 日期:一、实验目的:1.熟悉栈的基本结构、特点2.熟悉顺序栈的插入和删除的基本算法和实现二、实验条件:1.硬件:一台微机2.软件:Windows操作系统和C语言系统(MS VC+6.0)三、实验方法:确定存储结构后,上机调试实现顺序栈的插入和删除运算。四、实验要求:1、编写函数实现顺序栈中的删除功能2、 编写函数实现顺序栈中的插入功能2编写程序实现以下功能 (1) 创建一个顺序栈:12,15,87,96,3; (2) 调用删除函数,分别令栈中的前三个元素出栈; (3) 调用插入函数,使元素6入栈; (4) 输出最终顺序栈中的元素。5、 算法流程图:六、实验算法:#include #define MAXSIZE 100 /*栈中最多100个元素*/int stackMAXSIZE;int top=-1;void push(int x) /*进栈函数*/if(top=MAXSIZE-1)printf(栈满溢出n);exit(1); /*非正常中断*/elsetop+;stacktop=x;int pop() /*出栈函数*/int x;if(top=-1)printf(栈空溢出n);exit(1); /*非正常中断*/elsex=stacktop;top-;return x;main()int n,x=1,i;printf(n请输入进栈初始化元素:(0为结束符)n);while(x)scanf(%d,&x);push(x);top-;printf(n请输入出栈个数:n);scanf(%d,&n);printf(n出栈元素依次为:n);for(;n;n-)printf(%d ,pop();printf(n请输入进栈元素:n);scanf(%d,&x);push(x);printf(栈内元素有:n);for(i=0;i=top;i+)printf(%d ,stacki);printf(n);七、算法介绍:1. 算法功能:输入一个顺序栈,按要求出栈,并进栈,然后再将链表输出2. 算法利用宏定义MAXSIZE,提高算法兼容性八、效果图:
展开阅读全文