实验三——顺序栈
来源:互联网 发布:php程序员发展前景 编辑:程序博客网 时间:2024/06/05 18:06
《数据结构》实验三: 栈和队列实验
一..实验目的
巩固栈和队列数据结构,学会运用栈和队列。
1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。
2.学习运用栈和队列的知识来解决实际问题。
3.进一步巩固程序调试方法。
4.进一步巩固模板程序设计。
二.实验时间
准备时间为第5周到第6周,具体集中实验时间为6周第2次课。2个学时。
三..实验内容
1.自己选择顺序或链式存储结构,定义一个空栈类,并定义入栈、出栈、取栈元素基本操作。然后在主程序中对给定的N个数据进行验证,输出各个操作结果。
源代码:
头文件Seqstack.h:
#ifndef Seqstack_H
#define Seqstack_H
const int N = 10;
class Seqstack
{
private:
int top;
int data[N];
public:
Seqstack();
~Seqstack(){};
void push(int x); //入栈
int pop(); //出栈
int GetTop(); //取栈顶元素
int Empty(); //判空
};
#endif
函数定义文件Seqstack_func.cpp:
#include<iostream>
#include"Seqstack.h"
using namespace std;
Seqstack::Seqstack()
{
top = -1;
}
void Seqstack::push(int x)
{
if (top == N - 1) throw "overflow";
data[++top] = x;
}
int Seqstack::pop()
{
int x;
if (top == -1) throw "underflow";
x = data[top--];
return x;
}
int Seqstack::Empty()
{
if (top == -1)
{
return 1;
}
else return 0;
}
int Seqstack::GetTop()
{
if (top != -1)
return data[top];
}
主程序文件Seqstack_main.cpp:
#include<iostream>
#include<cstdlib>
#include"Seqstack.h"
using namespace std;
int main()
{
int x,y;
Seqstack S;
if (S.Empty())
{
cout << "这是空栈!" << endl;
}
else cout << "这不是空栈!" << endl;
system("pause");
cout << "分别输入两个入栈的数据:" << endl;
cout << "输入第一个数:"; cin >> x; cout << endl;
cout << "输入第二个数:"; cin >> y;
S.push(x); S.push(y);
system("pause");
cout << "栈顶元素为:" << S.GetTop() << endl;
system("pause");
cout << "执行一次出栈操作:" << endl;
S.pop();
cout << "操作后栈顶元素为:" << S.GetTop() << endl;
system("pause");
return 0;
}
- 实验三——顺序栈
- 数据结构实验三——顺序栈
- 实验三 顺序栈
- 实验三、顺序栈
- 实验三顺序栈
- 实验三之顺序栈
- 实验三:栈和队列的基本操作实现及其应用——顺序栈
- 实验三 顺序栈和链栈
- 实验三、顺序栈和链栈
- 实验三:顺序栈的实现
- 实验三:顺序栈的实现
- 实验三 顺序栈(c++)
- 实验三 顺序队列
- 实验三顺序队列
- 实验三:顺序栈和链队列验证实验
- 实验三(1) 顺序栈的验证实验
- 实验四——顺序栈
- 实验三:十进制转换成二进制数(顺序栈)
- Maven入门
- phonegap上传以及下载图片
- Java Hashtable分析与冲突处理
- ural 1019 Line Painting(线段树)
- C++与正态分布
- 实验三——顺序栈
- android listview 中集成侧滑功能
- div+css中clear用法
- 华为研发面试总结
- 解决ubuntu下windows分区挂载失败
- 云盘秒传的原因 MD5 HASH 数字指纹
- 解决ORA-28000: the account is locked
- 定义阴影和裁剪视图
- windows删除系统启动引导项(如老毛桃等)