#include "iostream" using namespace std; const int maxsize = 20; template <class Numtype> class Numlist { public: Numtype Bulid(); //建立顺序表 void Insert(); //插入 Numtype Delete(); //删除 Numtype Get(); //顺序查找 private: Numtype data[maxsize]; int length; }; template <class Numtype> Numtype Numlist <Numtype>::Bulid() //建立顺序表 { int i; Numtype a[10]; int n; cin >> n; if (n > maxsize) throw"参数非法"; for (i = 0; i < n; i++) cin >> a[i]; data[i] = a[i]; length = n; } template <class Numtype> Numtype Numlist<Numtype>::Get() //顺序查找 { int i; cin >> i; if (i<1 && i>length) throw "查找位置非法"; else return data[i - 1]; } template <class Numtype> void Numlist<Numtype>::Insert() //插入 { int i; int j; Numtype x; cin >> i >> x; if (length >= maxsize) throw"上溢"; if (i<1 || i>length + 1) throw "位置"; for (j = length; j >= i; j--) data[j] = data[j - 1]; data[i - 1] = x; length++; } template <class Numtype> Numtype Numlist<Numtype>::Delete() //删除 { int i,x,j; cin >> i; if (length == 0) throw"下溢"; if (i = 1 || i > length) throw"位置"; x = data[i - 1]; for (j = i; j < length; j++) data[j - 1] = data[j]; length--; return x; } int main() { Numlist <int> stu; stu.Bulid(); //建立顺序表 stu.Insert(); //插入 stu.Delete(); //删除 stu.Get(); //顺序查找 return 0; }
实验1:顺序表
猜你喜欢
转载自blog.csdn.net/u011633428/article/details/79781890
今日推荐
周排行