数据结构实验三 顺序表实现学生成绩

源代码

  1. #include  
  2. using namespace std;  
  3. const int MaxSize=100;  
  4.   
  5. template  
  6. class Score  
  7. {  
  8. public:  
  9.     Score(){ length=0; }            //建立空的顺序表  
  10.     Score(DataType a[],int n);      //建立长度为n的顺序表  
  11.     ~Score(){}                      //建立析构函数  
  12.     int Length(){ return length;}     //求线性表的长度  
  13.     DataType Get( int i);             //按位置查找  
  14.     int Locate(DataType x);           //按值查找  
  15.     void Insert(int i,DataType x);    //在位置i插入x  
  16.     DataType Delete(int i);           //删除  
  17.     void Print();                 //输出  
  18. private:  
  19.     DataType data[MaxSize];           //存放数据元素的数组  
  20.     int length;                       //线性表的长度  
  21. };  
  22.   
  23. template   
  24. Score::Score(DataType a[],int n)  
  25. {  
  26.     int i;  
  27.     if(n>MaxSize)   
  28.         throw "非法参数";  
  29.     for(i=0;i    //按位查找  
  30. DataType Score::Get( int i)  
  31. {  
  32.     if(i<1||i>length)   
  33.         throw"查找位置非法";  
  34.     else return data[i-1];  
  35. }  
  36.   
  37. template     //按值查找  
  38. int Score::Locate(DataType x)  
  39. {  
  40.     int i;  
  41.     for(i=0;i  
  42. void Score::Insert(int i,DataType x)  
  43. {  
  44.     int j;  
  45.     if(length>=MaxSize)   
  46.         throw"上溢";  
  47.     if(i<1||i>length+1)   
  48.         throw"位置异常";  
  49.     for(j=length; j>=i;j--)  
  50.         data[j]=data[j-1];  
  51.         data[i-1]=x;  
  52.         length++;  
  53. }  
  54.   
  55. template   
  56. DataType Score::Delete(int i)  
  57. {  
  58.     int x,j;  
  59.     if(length==0)   
  60.         throw"下溢";  
  61.     if(i<1||i>length)   
  62.         //throw"位置异常";  
  63.     x=data[i-1];  
  64.     for(j=i;j     
  65. void Score::Print()  
  66. {  
  67.     int i;  
  68.     for(i=0;is(a,10);  
  69.         while(flag==0)  
  70.         {  
  71.             cout<<"please input the command(1~8):"<>t;  
  72.             switch(t)  
  73.             {  
  74.             case 1:  
  75.                 l=s.Length();  
  76.                 cout<<"the length is:"<>i;  
  77.                 x=s.Get(i);  
  78.                 cout<<"the number is:"<>x;  
  79.                 i=s.Locate(x);  
  80.                 cout<<"the number's location is:"<<i>>i;  
  81.                 cout<<"please input the insert number:"<>x;  
  82.                 s.Insert(i,x);  
  83.                 cout<<"insert successfully!"<>i;  
  84.                 s.Delete(i);  
  85.                 cout<<"delete successfully!"<</

运行结果

求长度


按位置查找成绩


按值查找位置



插入成绩


猜你喜欢

转载自blog.csdn.net/klay_thompson/article/details/80484352
今日推荐