数据结构 栈与队列实验报告 学院:数学与计算机学院 班级:计算机科学与技术 姓名:*** 学号:************ 实验三 栈与队列 一、实验目的: (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)*si