实验三 栈队列串的操作.docx
《实验三 栈队列串的操作.docx》由会员分享,可在线阅读,更多相关《实验三 栈队列串的操作.docx(6页珍藏版)》请在三一办公上搜索。
1、实验三 栈队列串的操作实验类型:验证性 实验要求:必修 实验学时: 2学时 一、实验目的: 参照给定的栈类和队列类的程序样例,验证给出的栈和队列的常见算法,并结合线性表类实现有关串的操作。 二、实验要求: 1、掌握栈、队列、串的特点。掌握特殊线性表的常见算法。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 三、实验内容: 1. 堆栈类测试和应用问题。要求: (1)设计一个主函数实现对顺序堆栈类和链式堆栈类代码进行测试。测试方法为:依次把数据元素1,2,3,4,5入栈,然后出栈堆栈中的数据元素并在屏幕上显示。 (2)定义数
2、据元素的数据类型为如下形式的结构体: 设计一个包含5个数据元素的测试数据,并设计一个主函数实现依次把5个数据元素入栈,然后出栈堆栈中的数据元素并在屏幕上显示。 2. 队列类测试和应用问题。要求: 设计一个主函数对循环队列类和链式队列类代码进行测试.测试方法为:依次把 1,2,3,4,5入队,然后出队中的数据元素并在屏幕上显示。 3设计串采用顺序存储结构,编写函数实现两个串的比较Compare(S, T)。要求比较结 有大于、等于和小于三种情况。 *4. 设计算法利用栈类实现把十进制整数转换为二至九进制之间的任一进制输出。 *5. 设计串采用静态数组存储结构,编写函数实现串的替换Replace(
3、S, start, T, V),即要求在主串S中,从位置start开始查找是否存在子串T,若主串S中存在子串T,则用子串V替换子串T,且函数返回1;若主串S中不存在子串T,则函数返回。并要求设计主函数进行测试。 一个测试例子为:S”I am a student”,T=”student”,V=”teacher “。 四、实验源码 1.1 #include using namespace std; const int StackSize=10; class SeqStack public: SeqStack( ) top=-1; SeqStack( ) void Push( int x ) if
4、(top= StackSize-1) throw 溢出; top+; datatop=x; int Pop( ) if (top=-1) throw 溢出; int x=datatop-; return x; int dataStackSize; int top; ; int main SeqStack a; for(int i= 1 ; i = 5; i+) a.Push(i); for( i = 0 ;i 5; i+) int k = 0; k = a.Pop; cout k endl; 1.2 #include #include using namespace std; const in
5、t StackSize=10; typedef struct int notask; char name10;DataType; class SeqStack public: SeqStack( ) top = -1; SeqStack( ) void Push( DataType x ) if (top= StackSize-1) throw 溢出; top+; datatop = x; DataType Pop( ) if (top=-1) throw 溢出; DataType x=datatop-; return x; DataType dataStackSize; int top; ;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验三 栈队列串的操作 实验 队列 操作
链接地址:https://www.31ppt.com/p-3436051.html