- 12
- 0
- 约2.69万字
- 约 32页
- 2018-03-04 发布于浙江
- 举报
[计算机软件及应用]数据结构与算法实验报告C版
算法与数据结构
实验报告
实验一:栈与队列
一、实验目的
1、掌握栈和队列特点、逻辑结构和存储结构
2、熟悉对栈和队列的一些基本操作和具体的函数定义。
3、利用栈和队列的基本操作完成一定功能的程序。
二、实验任务
出顺序栈的类定义和函数实现,利用栈的基本操作完成十进制数N与其它d进制数的转换。(如N=1357,d=8)
给出顺序队列的类定义和函数实现,并利用队列计算并打印杨辉三角的前n行的内容。(n=8)
给出链栈的类定义和函数实现,并设计程序完成如下功能:读入一个有限大小的整数n,并读入n个数,然后按照与输入次序相反的次序输出各元素的值。
三、实验原理
1、将十进制数N转化为d进制时,用除去余数法,用d除N所得余数作为d进制当前
个位,将相除所得的商的整数部分作为新的N值重复上述计算,直到N为0为止。 将
前所得到的各余数反过来连接便得到最终结果。将每次求出的余数入栈,求解结束后,
再依次出栈。
2、在杨辉三角中可用上一行的数来求出对应位置的下一行的内容。用队列保存上行内容,
每当由上行的两个数求出下行的一个数时,其中的前一个便需要删除,而求出的数就
入队。为便于求解,在每行的第一个位置添加一个0作为辅助。
3、输出操作应在读入所有输入的整数后才能进行,用栈来存储这些数据,调用入栈出栈
函数实现相关功能。
四、程序清单
第一题
#include iostream.h
#ifndef STACK_H
#define STACK_H
const int maxlen=256;
typedef int elementtype;
enum error_code{success, underflow, overflow};
class stack{
public:
stack();
bool empty() const;
bool full() const;
error_code get_top(elementtype x) const;
error_code push(const elementtype x);
error_code pop();
private:
int count;
elementtype data[maxlen];
};
stack::stack(){count=0;}
bool stack::empty() const
{
if(count==0) return true;
return false;
}
error_code stack::get_top(elementtype x) const
{
if(empty()) return underflow;
else{x=data[count-1];
return success;
}
}
error_code stack::push(const elementtype x)
{
if(full()) return overflow;
data[count]=x;
count++;
return success;
}
error_code stack::pop()
{
if(empty()) return underflow;
count--;
return success;
}
bool stack::full() const
{
if(count==maxlen) return true;
return false;
}
#endif
void Dec_to_Ocx(int N, int d)
{ stack S;
int Mod,x;
while(N!=0)
{ Mod=N%d;
S.push(Mod);
N=N/d;
}
while(!S.empty())
{ S.get_top(x);
S.pop();
coutx;
}
}
void main()
{ int N;int d;
cinN;
cind;
Dec_to_Ocx(N,d);
}
第二题
#include iostream.h
const int maxlen=256;
typedef int elementtype;
enum error_code{success, underflo
您可能关注的文档
最近下载
- SY_T 5333-2023 钻井工程设计规范.pdf VIP
- 深度解析(2026)《SYT 5946-2019钻井液用包被抑制剂 聚丙烯酰胺钾盐》.pptx VIP
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
- 心血管常用名词缩写和心血管常用药物英汉对照.pdf VIP
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
原创力文档

文档评论(0)