- 0
- 0
- 约4.83千字
- 约 8页
- 2023-11-20 发布于四川
- 举报
实验报告
课程
数据构造
实验名称
实验二堆栈和队列
**
**
实验日期:
2022/10/18
实验二堆栈和队列
实验目的:
.熟悉栈这种特殊线性构造的特性;
.熟练并掌握栈在顺序存储构造和链表存储构造下的根本运算;
.熟悉队列这种特殊线性构造的特性;
.熟练掌握队列在链表存储构造下的根本运算。
实验原理:
堆栈顺序存储构造下的根本算法;
堆栈链式存储构造下的根本算法;
队列顺序存储构造下的根本算法;
队列链式存储构造下的根本算法;
实验内容:
3-18链式堆栈设计。要求 (1)用链式堆栈设计实现堆栈,
堆栈的操作集合要求包括:初始化Stackinitiate[S),非空
否StackNotEmpty(S),入栈StackiPush(S,*),出栈StackPop〔S,d〕,取栈顶数据元素StackTop(Sd); (2)设 计一个主函数对链式堆栈发展测试。测试方法为:挨次把数据元素1, 2, 3, 4, 5 入栈,然后出栈并在屏幕上显示出栈的数据元素;
(3)定义数据元素的数据类型为如下形式的构造体,
Typedef struct
(
chartaskName[10J;
int taskNo;
JDataType;
首先设计一个包含5个数据元素的测试数据,然后设计一个主函数对链式堆栈发展测试,测 试方法为:挨次吧5个数据元素入栈,然后出栈并在屏幕上显示出栈的数据元素。
3-19对顺序循环队列,常规的设计方法是使用文寸尾指针和对头指针,对尾指针用于指示当 前的女寸尾位置下标,对头指针用于指示当前的女寸头位置下标。现要求:
(1〕设计一个使用对头指针和计数器的顺序循环队列抽象数据类型,其中操作包括:初始 化,入队列,出队列,取对头元素和判断队列是否为空;
(2)编写一个主函数发展测试。
实验结果:
3-18
typedefstructsnode
DataTypedata;
struct sn(xle*ne*t;
} LSNode;
/*初始化操作:*/
void StackInitiate(LSNode **head)
/*初始化带头结点链式堆栈*/
(
iK(*head = (LSNode *)malloc(sizeofiJJSNode))) = NULL) e*it(l); (*head)-ne*t = NULL;
)
/*判非空操作:*/
int StackNotEmpty(LSNode *head)
/*判堆栈是否非空,非空返回1;空返回0*/
(
ifithead-ne*t = NULL) return 0;
elseretuml;
)
浮入栈操作:*/
int StackPush(LSNode *head DataType *)
/*把数据元素*插入链式堆栈head的栈顶作为新的栈顶*/
(
LSNode *p;
if((p = (LSNode *)malloc(sizeofiOLSNode))) = NULL) (
printif内存空间缺乏无法插入! VT);
retumO;
)
pdata=*;
p-ne*t = head-ne*t; /* 新结点链入栈顶*/
head-ne*t = p; /*新结点成为新的栈顶*/
return 1;
)
/*出栈操作:*/
int StackPop(LSNode *head, DataType *d)
/“出栈并把栈顶元素由参数d带回*/
(
LSNode *p 二 head-ne*t;
if(p == NULL)
(
printfC堆栈已空出错!) retumO;
)
head-ne*t 二 p-ne*t; /* 删除原栈顶结点 */
*d = p-data; /*原栈顶结点元素赋予d*/
free(p);
return 1;
/*释放原栈顶结点内存空间*/
)
/*取栈顶数据元素操作:*/
int StackTop(LSNode *head, DataType *d)
/*取栈顶元素并把栈顶元素由参数d带回*/
(
LSNode *p 二 head-ne*t;
if(p = NULL)
{
prints堆栈已空出错! ”); retumO;
)
*d = j?data;
return 1;
)
/*撤销*/
void Destroy(LSNode *head)
(
LSNode *p, *pl;
p 二 head;
while(p != NULL)
(
Pl = P;
p=p-ne*t;
free(pl);
)
} (2)主函数程序:
*includestdio.h
*includestdlib.h
typedefint DataType;
include ”LinStack.h”
void main(void)
{ LSNode *myStack;
inti,*;
您可能关注的文档
最近下载
- 2025最新初中八年级物理下册压强与浮力综合测试卷.docx VIP
- 企业文化墙设计方案(完整版).docx VIP
- 基于STM32的智能手环设计.docx VIP
- 【2026.1初一期末】顺义区数学试题.docx VIP
- 2025中华护理学会团体标准——成人泌尿造口护理.pptx
- 【2026.1初一期末】石景山区数学试卷.docx VIP
- GBT_13663.2-2018_给水用聚乙烯(PE)管道系统_第2部分:管材.pdf VIP
- 2021年广东省茂名市中考数学试卷.pdf VIP
- 中国国家标准 GB/T 19294-2025航空摄影技术设计规范.pdf
- GB_T 15558.2-2023 燃气用埋地聚乙烯(PE)管道系统 第2部分:管材.pdf VIP
原创力文档

文档评论(0)