加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 服务器 > 安全 > 正文

《数据结构》实验二: 线性表实验

发布时间:2021-03-30 12:25:28 所属栏目:安全 来源:网络整理
导读:《数据结构》实验二: ????? 线性表实验 一. . 实验目的 ????? 巩固线性表的数据结构,学会线性表的应用。 1. 回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2. 学习运用线性表的知识来解决实际问题。 3. 进一步巩固程序调试方法。 4. 进一步巩

《数据结构》实验二:?????线性表实验

一..实验目的

?????巩固线性表的数据结构,学会线性表的应用。

1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。

2.学习运用线性表的知识来解决实际问题。

3.进一步巩固程序调试方法。

4.进一步巩固模板程序设计。

二.实验时间

???准备时间为第2周到第4周,具体集中实验时间为第4周第2次课。2个学时。

三..实验内容

1.建立一个N个学生成绩的顺序表,对表进行插入、删除、查找等操作。分别输出结果。

要求如下:

用顺序表来实现。

头文件

?

?

#ifndef shunxu_h
#define shunxu_h

const? int max = 100;
template<class datatype>
class shunxu
{
public:
?shunxu(){ length = 0; }
?shunxu(datatype a[],int n);
?void insert(datatype x,int n);
?int delet(int n);
?int locat(int n);
?void print();


private:

?int data[max];
?int length;
???
};

template<class datatype>
shunxu<datatype>::shunxu(datatype a[],int n)
{

?if (n > max)throw "error";
?if (n < 1)throw"位置异常";
?for (int i = 0; i < n; i++)
?{
??data[i] = a[i];
?}
?length = n;
}

template<class datatype>
void shunxu<datatype>::insert(datatype x,int n)
{
?int j;
?if (length > max)throw "error";
?if (n<1 || n>length + 1)throw"输入错误";
?for (j = length; j >= n; j--)
??data[j] = data[j - 1];
?data[n - 1] = x;
?length++;


}

template<class datatype>
int shunxu<datatype>::delet(int n)
{

?int x = data[n - 1];//怎么把位置清空
?for (int j= n-1; j < length; ++j)
??data[j] = data[j+1];
?
?length--;
?return x;
?
}

template<class datatype>
int shunxu<datatype>::locat(int n)
{
?int j;
?for (j = length - 1; data[j] != n; j--);

?if (data[j] == n)
??cout << "输入的元素位置是:" << j + 1 << endl;
?
?return 0;
}

template<class datatype>
void shunxu<datatype>::print()
{
?for (int j = 0; j < length; j++)
??cout << data[j] << "? ";
?cout<<endl;
}


#endif

?

?

主函数

#include<iostream>
#include? "shunxu.h"
using namespace std;

?


void main()
{
?int y,g;
?int a[] = { 5,6,7,8,9,15,16 };

?shunxu<int> s(a,7);
?cout << "输入的数据为:" << endl;
?s.print();
?cout << "插入一个新元素2在第三的位置上" << endl;
?s.insert(2,3);
?s.print();
?cout << "删除第二个数据后,信息为:"<<endl;
?s.delet(2);
?s.print();
?cout << "查找某个元素的位置,输入要查找的元素:"<<endl;
?cin >> g;
??? s.locat(g);
?cin >> y;
?
}

?

?

构造函数和插入操作

?

删除、查找,定位等操作代码

?

?

主函数调用时

?

《数据结构》实验二: 线性表实验

?

?

?

?

插入数据:

?

《数据结构》实验二: 线性表实验

?

删除第二个数据后

《数据结构》实验二: 线性表实验

?

查找元素

《数据结构》实验二: 线性表实验

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读