数据结构实验二文档格式.docx
- 文档编号:6294938
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:6
- 大小:70.31KB
数据结构实验二文档格式.docx
《数据结构实验二文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构实验二文档格式.docx(6页珍藏版)》请在冰点文库上搜索。
三、实验仪器设备及软件
HPD538、C语言
四、实验原理
顺序堆栈的入栈和出栈操作只能对当前栈顶数据元素。
五、实验步骤及程序
(1)初始化StackInitiate(S)
(2)非空否StackNotEmpty(S)
(3)入栈StackPush(SeqStack*S,DataTypex)
(4)出栈StackPop(SeqStack*S,DataType*d)
(5)取栈顶数据元素StackTTop(SeqStack*s,DataType*)
上述实现顺序堆栈操作的所有函数中,都没有循环语句,所以顺序循环堆栈的所有操作的似箭复杂度均为1.
六、实验结果与分析
试验程序如下
#include<
stdio.h>
stdlib.h>
#defineMAX20
typedefstruct
{
intelement[MAX];
intindex;
}Stack;
voidClearStack(Stack*S)
S->
index=0;
}
intStackSize(StackS)//因为未改动堆栈的数据,所以不用设置为指针
returnS.index;
intInitStack(Stack*s)
s->
index=0;
return1;
intIsFull(Stack*s)
if(s->
index==MAX)
{
}
else
return0;
intIsEmty(Stack*s)
index==0)
intPush(Stack*s,intelements)
if(IsFull(s))
element[s->
index]=elements;
index++;
intPop(Stack*s,int*elements)
if(IsEmty(s))
index--;
*elements=s->
index];
intmain()
Stack*p;
intelement=0;
p=(Stack*)malloc(sizeof(Stack));
InitStack(p);
for(inti=0;
i<
21;
i++)
if(!
Push(p,i))
printf("
StackisFull\n"
);
break;
}else
%dPushtostack\n"
i+1);
栈中元素个数:
%d\n"
StackSize(*p));
ClearStack(p);
清堆栈之后栈中元素个数:
StackSize(*p));
}
实验结果如图
总结:
1:
该程序实现了数据元素的顺序入栈并把所有数据元素均删去的算法。
2在编程序时,把最大数据元素定为20,可以看出,当数据元素个数小于20时,可以正常顺序入栈出栈,但当数据元素个数超过20时,会显示“StackisFull”,并且只能将20个数据元素入栈。
3通过编写程序,加深了自己对顺序堆栈的理解,特别是数据显示的结果,是自己印象很深刻,同时学会了软件的基本操作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验
![提示](https://static.bingdoc.com/images/bang_tan.gif)