선형 순서 표
3504 단어 데이터 구조
#include
#include
#define MAXLISTSIZE 1024 //
//
typedef struct {
int data[MAXLISTSIZE];// ,int
int last;//
}LinearList;
LinearList* list;// LinearList*
void showList();
void outputDoc();
LinearList* createLinearList();
void appendNode();
void insertNode();
void delNode();
void operate();
void showList(LinearList* l) {
printf(" :
");
if(l->last == 0) {
printf(" null");
} else {
int i;
for(i = 0; i < (l->last); i++) {
printf("[%d]\t",l->data[i]);
}
}
printf("
");
}
//
void outputDoc() {
system("cls");
printf(" :
");
printf("a: ; i:
");
printf("d: ; e:
");
}
//
LinearList* createLinearList() {
LinearList* list = (LinearList*)malloc(sizeof(LinearList));// LinearList , LinearList
list->last = 0;// ( )
return list;
}
//
void appendNode(LinearList* list, int data) {
if((list->last) < MAXLISTSIZE) {
list->data[list->last] = data;
list->last ++;
}
}
// , ,
void insertNode(LinearList* list, int data, int pos) {
if(pos < 0 || pos > list->last || list->last == MAXLISTSIZE) {
char ch;
printf(" !,q !
");
while(1) {
ch = getchar();
if(ch == 'q') {
operate();
}
}
} else {
int j;
for(j = list->last; j >= pos; j--) { //j >= pos , pos
list->data[j+1] = list->data[j]; // +1
}
list->data[pos] = data; // 0 ,
list->last++;
}
}
//
void delNode(LinearList* list,int pos){
if(pos < 0 || pos > list->last) {
printf(" !");
} else {
int j;
for(j = pos; j < list->last; j++) { //j < list.last
list->data[j] = list->data[j+1];
}
list->last--;
}
}
//
void operate(){
int data,pos;
char ch;
while(1) {
outputDoc();
showList(list);
ch = getchar();
switch(ch) {
case 'a':
printf(" :
");
scanf("%d",&data);
appendNode(list,data);
break;
case 'i':
printf(" :
");
scanf("%d",&pos);
printf(" :
");
scanf("%d",&data);
insertNode(list,data,pos);
break;
case 'd':
printf(" :
");
scanf("%d",&pos);
delNode(list,pos);
break;
case 'e':
system("exit");
break;
default:
printf(" !
");
break;
}
}
}
//
int main() {
list = createLinearList();
operate();
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에 따라 라이센스가 부여됩니다.