数据结构实验 栈和队列
- 格式:doc
- 大小:37.00 KB
- 文档页数:5
第二次实验栈和队列
一、实验目的
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;
}