1 / 8
文档名称:

数据结构栈与队列的实验报告.docx

格式:docx   大小:48KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构栈与队列的实验报告.docx

上传人:gxngqvk 2021/2/22 文件大小:48 KB

下载得到文件列表

数据结构栈与队列的实验报告.docx

相关文档

文档介绍

文档介绍:数据结构
栈与队列实验报告
学院:数学与计算机学院
班级:计算机科学与技术
姓名:杨理源
学号:9
实验三 栈与队列
一、实验目的:
(1)熟练掌握栈和队列的结构以及这两种数据结构的特点、栈与队列的基本操作。
(2)能够在两种存储结构上实现栈的基本运算,特别注意栈满和栈空的判断条件及描述方法;
(3)熟练掌握链队列和循环队列的基本运算,并特别注意队列满和队列空的判断条件和描述方法;
(4)掌握栈的应用;
二、实验要求:
(1) 给出程序设计的基本思想、原理和算法描述。
(2) 对源程序给出注释。
(3) 记录程序的运行结果,并结合程序进行分析。
三、程序设计的基本思想、原理和算法描述:
四、实验内容:
1、利用栈的基本操作将一个十进制的正整数转换成R进制数据,并将其转换结果输出。
#include <>
#include <>
#include <>
#define stack_init_size 100
#define stackincrement 10
typedef struct sqstack {
int *base;
int *top;
int stacksize;
} sqstack;
int StackInit(sqstack *s)
{ s->base=(int *)malloc(stack_init_size *sizeof(int));
if(!s->base)
return 0;
s->top=s->base;
s->stacksize=stack_init_size;
return 1;
}
int Push(sqstack *s,int e)
{
if(s->top-s->base>=s->stacksize)
{
s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int));
if(!s->base)
return 0;
s->top=s->base+s->stacksize;
s->stacksize+=stackincrement;
} 
*(s->top++)=e; 
return e;  
} 
int Pop(sqstack *s,int e) 
{ 
if(s->top==s->base) 
return 0; 
e=*--s->top; 
return e; 
} 
int stackempty(sqstack *s) 
{ 
if(s->top==s->base) 
{ 
return 1; 
 
 }
else 
{ 
return 0; 
}  
} 
int conversion(sqstack *s) 
 
{