数据结构实验 栈和队列

  • 格式:doc
  • 大小:37.00 KB
  • 文档页数:5

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二次实验栈和队列

一、实验目的

1.掌握栈这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用.

2.掌握队列这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用.

3.了解和掌握递归程序设计的基本原理和方法.

二、实验内容

1. 写一个程序,将输入的十进制数据M 转换为八进制

数据M8,将其调试通过.在此基础上修改程序,实现十进制数据M 向N 进制(2或8或16)的转换.

(1)采用顺序存储结构实现栈.(文件2_1.h和2_1(cpp).h)

(2)采用链表结构实现栈. (文件2_1_2.h和2_1_2(cpp).h)

2. 写程序采用循环队列,输出一杨辉三角形。要求:读

入一个小于10的整数n,在屏幕上输出n行杨辉三角形。[循环队列的类型已由文件2_2.h(c的形式)或2_2(cpp).h(c++的形式)完成]。

int main ()

{

void conversion (int N);

int n;

scanf ("%d",&n); conversion(n);

printf ("\n");

return 0;

}

void conversion (int N)

{

SqStack S;

int e;

InitStack(S);

while (N)

{

Push (S,N%8);

N=N/8;

}

while (!StackEmpty(S)) {

Pop(S,e);

printf ("%d",e);

}

}

(八进制顺序占)

void conversion (int N,int M) {

SqStack S;

int e;

InitStack(S);

while (N)

{

Push (S,N%M);

N=N/M;

}

while (!StackEmpty(S)) {

Pop(S,e);

printf ("%d",e);

}

}

int main ()

{

int n,m;

scanf ("%d %d",&n,&m); conversion(n,m);

printf ("\n");

return 0;

} (gezhongsunxunzhan)

void conversion (int N) {

ListStack S;

int e;

InitStack (S);

while (N)

{

Push (S,N%8);

N=N/8;

}

while (!StackEmpty(S)) {

Pop (S,e);

printf ("%d",e);

}

}

int main ()

{

int n;

scanf ("%d",&n); conversion(n);

printf ("\n");

return 0;

} (bajinzhilianzhan)

void conversion (int N,int M) {

ListStack S;

int e;

InitStack (S);

while (N)

{

Push (S,N%M);

N=N/M;

}

while (!StackEmpty(S)) {

Pop (S,e);

printf ("%d",e);

}

}

int main ()

{

int n,m;

scanf ("%d %d",&n,&m); conversion(n,m);

printf ("\n");

return 0;

}