선형 표 구현 순서 저장 구조의 전체 코드 (C 언어)

코드 는 다음 과 같 습 니 다:
#include
#include
#include
#define MAXSIZE 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef int ElemType;
typedef struct ListNode{
     
    ElemType data[MAXSIZE];
    int length;
}*SqList;
//     
SqList InitList(){
     
    SqList L;
    L=(SqList)malloc(sizeof(struct ListNode));
    L->length=0;
    return L;
}
//    
Status Output(SqList L){
     
    int i;
    for(i=0;i<L->length;i++){
     
        printf("%d ",L->data[i]);
    }
    printf("
"
); return OK; } // , i Status GetElem(SqList L,int i,ElemType *e){ if(L->length==0||i<1||i>L->length){ return ERROR; } *e=L->data[i-1]; return OK; } // Status ListInsert(SqList L,int i,ElemType e){ int k; if(L->length==MAXSIZE){ return ERROR; } if(i<1||i>L->length+1){ return ERROR; } if(i<=L->length){ for(k=L->length-1;k>=i-1;k--){ L->data[k+1]=L->data[k]; } } L->data[i-1]=e; L->length++; return OK; } // Status ListDelete(SqList L,int i,ElemType *e){ int k; if(L->length==0){ return ERROR; } if(i<1||i>L->length){ return ERROR; } if(i<L->length){ for(k=i;k<L->length;k++){ L->data[k-1]=L->data[k]; } } L->length--; return OK; } // int main(){ SqList L; L=InitList(); int n,i,x; printf(" ( 21):
"
); scanf("%d",&n); printf(" :
"
); for(i=1;i<=n;i++){ scanf("%d",&x); ListInsert(L,i,x); } printf(" :
"
); Output(L); int e,j; printf(" ( 21):
"
); scanf("%d",&j); GetElem(L,j,&e); printf(" %d :%d
"
,j,e); printf(" :
"
); int k,e1; scanf("%d",&k); ListDelete(L,k,&e1); printf(" , :
"
); Output(L); printf(" ( , , ):
"
); int l,e2; scanf("%d%d",&l,&e2); ListInsert(L,l,e2); printf(" , :
"
); Output(L); return 0; }

참고 문헌
《 큰소리 데이터 구 조 》.

좋은 웹페이지 즐겨찾기