数据结构实验二.docx

上传人:b****7 文档编号:10278700 上传时间:2023-02-09 格式:DOCX 页数:6 大小:70.31KB
下载 相关 举报
数据结构实验二.docx_第1页
第1页 / 共6页
数据结构实验二.docx_第2页
第2页 / 共6页
数据结构实验二.docx_第3页
第3页 / 共6页
数据结构实验二.docx_第4页
第4页 / 共6页
数据结构实验二.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

数据结构实验二.docx

《数据结构实验二.docx》由会员分享,可在线阅读,更多相关《数据结构实验二.docx(6页珍藏版)》请在冰豆网上搜索。

数据结构实验二.docx

数据结构实验二

数据结构实验二

实验二堆栈的实现与应用

一、实验目的

掌握堆栈的基本操作和设计数据测试功能的方法

二、实验要求

1)编写一个将顺序堆栈S中所有数据元素均删去的算法

voidClearStack(SeqStack*S),并说明参数S为何要设计为指针参数。

2)编写一个返回顺序堆栈S中结点个数的算法

intStackSize(SeqStackS),并说明参数S为何不用设计为指针类型。

三、实验仪器设备及软件

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

#include

#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)

{

return1;

}

else

{

return0;

}

}

intIsEmty(Stack*s)

{

if(s->index==0)

{

return1;

}

else

{

return0;

}

}

intPush(Stack*s,intelements)

{

if(IsFull(s))

{

return0;

}

else

{

s->element[s->index]=elements;

s->index++;

return1;

}

}

intPop(Stack*s,int*elements)

{

if(IsEmty(s))

{

return0;

}

else

{

s->index--;

*elements=s->element[s->index];

return1;

}

}

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

{

printf("%dPushtostack\n",i+1);

}

}

printf("栈中元素个数:

%d\n",StackSize(*p));

ClearStack(p);

printf("清堆栈之后栈中元素个数:

%d\n",StackSize(*p));

}

实验结果如图

 

总结:

1:

该程序实现了数据元素的顺序入栈并把所有数据元素均删去的算法。

2在编程序时,把最大数据元素定为20,可以看出,当数据元素个数小于20时,可以正常顺序入栈出栈,但当数据元素个数超过20时,会显示“StackisFull”,并且只能将20个数据元素入栈。

3通过编写程序,加深了自己对顺序堆栈的理解,特别是数据显示的结果,是自己印象很深刻,同时学会了软件的基本操作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1