顺序表

  • Post author:
  • Post category:其他


01234

4

012334

5

02333

4

1

4

#include<iostream>
using namespace std;
#include<stdio.h>
#define MAX 10
typedef  struct
{   int data[MAX];
    int last;
    /* data */
}SqList;

SqList *init_Sqlist(){
    SqList *L;
    L=(SqList *)malloc(sizeof(SqList));
    L->last=-1;
    return L;

}
 void  addSqlist(SqList *L){
        int i;
        for(i=0;i<5;i++){
            L->data[i]=i;
            L->last++;
        }

}
void scanfSqList(SqList *L){
      int i;
        for(i=0;i<L->last+1;i++){
         cout<<L->data[i];
           
        }
        cout<<endl;


}
int  insert_SqList(SqList *L,int i,int c){
        int j;
        if(L->last==MAX-1)
           {return 0;} 
        if(i<1 || i>L->last)
            {return 0;} 
        for(j=L->last;j>i-1;j--){
               L->data[j+1]=L->data[j]; 
               }
        L->data[i]=c;
        L->last++;
        return 1;




}
int DelSqlist(SqList *L,int x){
    int j;
    //cout<<L->last;
    if(x<1||x>L->last)
        return 0;
    for(j=x;j<L->last;j++)
        L->data[j-1]=L->data[j];
    
    L->last--;
    return 0;
}
int locationSqlist(SqList *L,int x){
        int i;
        for(i=0;i<=L->last;i++)
           if(L->data[i]==x)
                return i;
return -1;
}
int main(){
    SqList *L;
    L=init_Sqlist();
    addSqlist(L);
    scanfSqList(L);
    cout<<L->last<<endl;
    insert_SqList(L,3,3);
    scanfSqList(L);
    cout<<L->last<<endl;
    DelSqlist(L,2);
    
    scanfSqList(L);
    cout<<L->last<<endl;
    cout<<locationSqlist(L,2)<<endl;
    cout<<L->last<<endl;

}

01234

4

012334

5

02333

4

1

4



版权声明:本文为m0_46656946原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。