データ構造の順序表の基本操作

1518 ワード

シーケンステーブルの基本操作は、初期化、挿入、削除、検索(値、順)、印刷などがあります.
下のコードは最も基本的なデータタイプのデータ要素に対する操作です.カスタムデータタイプに対する操作はこれを見てもいいです.順序表で学生の情報管理を実現します.
#include
#include
#define MaxSize 50  //         

//ElemType       
typedef int ElemType;


//ElemType         
//typedef struct StudentMsg{
//    int no;   //     
//    string name;//     
//    float score[3];//     
//}ElemType;


//        
//       
typedef struct{
    ElemType data[MaxSize];//ElemType            ,         ,            
    int length;  //      
}SqList;
////       
//typedef struct{
//    ElemType *data; //      ,      
//    int length;
//}SqList;


//1.       
void InitList(SqList &L)
{
    L.length=0;//      0
}


//2.        --   i     e
int ListInsert(SqList &L,int i,ElemType e)
{
    if(i<1||i>L.length+1) //           
        return -1;
    if(L.length>=MaxSize)//           
        return 0;
    for(int a=L.length;a>=i;a--)//         ,     i             ,     e     i
        L.data[a]=L.data[a-1];
    L.data[i-1]=e;
    L.length++;//      ,   1
    return 1;
}


//3.        --    i    
int ListDelete(SqList &L,int i,ElemType &e)
{
    if(i<1||i>L.length)//            
        return 0;
    e=L.data[i-1];
    for(int a=i;a