实验二 线性表综合实验之《间接寻址》
2017-10-11 13:07
197 查看
实验二 线性表综合实验之《间接寻址》
一.实验目的巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。
二.实验内容
建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。
要求如下:
1)用顺序表来实现。
2)用单链表来实现。
3)用双链表实现。
4)用静态链表实现。
5)用间接寻址实现。
[align=left]三.实验报告[/align]
1、代码
#include using namespace std; const int MaxSize = 100; template struct Node { T data; }; template class IA { public: IA( ); //构造函数,含头结点的空链表 IA(T a[], int n); //构造函数,建立有n个元素的单链表 ~IA( ); int Length(){ return length; } T Get(int i); int Locate(T x); void Insert(int i,T x); T Delete(int i); void PrintList(); private: Node *s[MaxSize]; //单链表的头指针 int length; }; //无参构造 template IA::IA( ) { for(int i=0;i IA::IA(T a[], int n) { for (int i=0;i; //将数据指向每一个结点 s[i]->data = a[i]; //为每个数组指向结点填入数 } length = n; } //遍历操作 template void IA::PrintList() { for(int i=0;idata<<" "; } } //按位查找 template T IA::Get(int i) { if(i<1 || i>length) throw"查找位置非法"; else return s[i-1]->data; } //按值查找 template int IA::Locate(T x) { for(int i=0;idata==x) return i+1; return 0; //查找失败,退出循环 } //插入操作 template void IA::Insert(int i,T x) { if(length>=MaxSize) throw"上溢"; if(i<1||i>length+1) throw"位置"; for(int j=length; j>i; j--) s[j]=s[j-1]; s[i-1]->data=x; length++; } //删除操作 template T IA::Delete(int i) { if(length==0) throw"下溢"; if(i<1||i>length)throw"位置"; int x=s[i-1]->data; for(int j=i;j IA::~IA() { } int main() { int arr[5]={78,98,88,79,67}; int flag=0,loc,x,tab,len; IA A(arr,5); //install an object cout<<"\n 间接寻址"<>tab; switch(tab) { case 1: { cout<<"1.输出表:"; A.PrintList(); cout<>loc; x=A.Get(loc); cout <<"The number is:"<>x; loc=A.Locate(x); cout<<"The number's location is:"<>loc; cout<<"Please input the insert num:"; cin>>x; A.Insert(loc,x); cout<>loc; x=A.Delete(loc); cout<
2、调试结果
[align=left]①、遍历操作及输出总学生人数[/align]②、按位查找操作
③、按值查找操作
④、插入操作
⑤、删除操作
相关文章推荐
- 实验二 线性表综合实验之《双链表》
- 《数据结构》实验二:线性表综合实验——(5)间接寻址
- 《数据结构》实验二:线性表综合实验——(4)静态链表
- 数据结构:实验二线性表综合实践⑤间接寻址
- 线性表综合实验之顺序表
- 《数据结构》实验二:线性表综合实验——(3)双链表
- 实验二 线性表综合实验之静态链表
- 线性表综合实验之单链表的实现
- 《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果
- 实验二 线性表综合实验——顺序表
- 《数据结构》实验二: 线性表综合实验——(1)顺序表
- 实验二线性表综合实验-顺序表
- 实验二 线性表综合实验——静态链表
- 实验二线性表综合实验-单链表
- 线性表综合实验之静态链表的实现
- 实验二 线性表综合实验——单链表
- 实验二线性表综合实验-双链表
- 实验二 线性表综合实验之《静态链表》
- 信管16数据结构:实验二 线性表综合实验
- 实验二 线性表综合实验之双链表