선형 표 구현 순서 저장 구조의 전체 코드 (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;
}
참고 문헌
《 큰소리 데이터 구 조 》.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.