顺序表建立学生成绩

建立一个由 n 个学生成绩的顺序表,n 的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果

#include  
using namespace std; 
const int MaxSize=100; 
class SeqList  
{  
    public:  
        SeqList(){length=0;}                          //建立空的顺序表   
        SeqList(int a[],int n);                     //建立长度为n顺序表   
        ~SeqList(){}  
        int Length(){return length;}                  //求长度   
        int Get(int i);                              //按位查找,第i个   
        void Input (int i,int x);              //插入   
        int Delete(int i);                           //删除   
        void Print();                               //输出   
    private:  
        int data[MaxSize];                       //存放数据元素的数组   
        int length;                                   //线性表长度   
};
SeqList::SeqList(int a[],int n)        //求长度  
{   int i;  
    if(n>MaxSize)throw"参数非法";  
    for(i=0;i       data[i]=a[i];  
    length=n;   
}
int  SeqList::Get(int i)               //按位查找,第i个  
{  
    if(i<1&&i>length) throw"查找位置非法";  
    else return data[i-1];   

void SeqList::Input(int i,int x)      //插入  
{   int j;  
    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++;   

int SeqList::Delete(int i)            //删除  
{   int x,j;  
    if(length==0)throw"下溢";  
    if(i<1||i>length)throw"位置";  
    x=data[i-1];  
    for(j=i;j      data[j-1]=data[j];  
    length--;  
    return x;  
}
void SeqList::Print()                  //输出  
{     
    int i;  
    for(i=0;i    cout<<"第"<    cout<}
void main()
{int i;
int r[5]={80,90,70,60,50};
SeqList L(r,5);
cout<<"录入学生信息:"<

 L.Print();
cout<<"在第2个位置插入85"<L.Input(2,85);
cout<<"插入后学生成绩为:"<L.Print();
cout<<"第三位学生成绩为:"<cout<cout<<"删除第一个学生成绩"<L.Delete(1);
cout<<"删除后学生成绩为:"<

L.Print();}


顺序表建立学生成绩_第1张图片

你可能感兴趣的:(数据结构)