实验一线性表的基本操作实现及其应用
一实验目的
1.熟练掌握线性表的结构特点,掌握顺序表的基本操作。
2.巩固C++相关的程序设计方法与技术。
3.学会使用顺序表解决实际问题。
二实验内容
1.顺序表的建立与操作实现
建立n个元素的顺序表,实现相关的操作:输出,插入,删除,查找等功能。编写完整程序实现。
2.总结收获不足,疑问等。
三实验代码及实现结果
头文件:
#include <iostream>
using namespace std;
const int Max=100;
template <typename T>
class tem
{
public:
tem(){length=0;}
tem(int n);
int Length(){return length;}
T consult(int i);
void Insert(int i,T x);
T Delete(int i);
void print();
private:
T data[Max];
int length;
};
源文件:
#include "tou.h"
#include <iostream>
using namespace std;
template<class T>
T tem<T>::consult(int i)
{
cout<<"The data is:"<<data[i]<<endl;
return 0;
}
template<class T>
void tem<T>::Insert(int i,T x)
{
int n; n=length;
for(n;n>=i;n--){
data[n+1]=data[n];
}
length++;
}
template<class T>
T tem<T>::Delete(int i){
int n; n=length;
for(i;i<=n;i++){
data[i]=data[i+1];
}
length--;
return length;
}
template<class T>
void tem<T>::print(){
cout<<"All of the data"<<endl;
int i; int n; n=length;
for(i=1;i<=n;i++){
cout<<data[i]<<" ";
}
cout<<endl;
}
template<class T>
tem<T>::tem(int n){
int i; length=n;
cout<<"please input data"<<endl;
for(i=1;i<=n;i++){
cin>>data[i];
}
}
int main(){
tem<int>x(5);
x.consult(2);
x.Insert(2,2);
x.print();
x.Delete(2);
x.print();
}
运行方式:
输入数字{1,2,3,4,5} 通过consult函数查询第二个元素 后将元素2插入表中第二个位置
此时输出全部元素,可见Insert函数运行成功 后运行删除函数将插入的元素删除 输出全部元素可见删除成功
运行结果: