데이터 구조 학습 의 길 (2) 단일 체인 표 의 간단 한 실현
2889 단어 데이터 구조 학습
저 는 mac 시스템 에서 디 버 깅 하 는 코드 입 니 다. include 가 필요 한 가방 은 다른 시스템 과 약간 다 를 수 있 습 니 다.
# include
# include
typedef struct MyNode{
int data;
struct MyNode * pNext;
}*PNODE, NODE;
PNODE create_list(void);
void showList(PNODE);
bool isEmpty(PNODE);
int length(PNODE);
bool insert(PNODE, int, int);
bool delete_list(PNODE, int, int *);
void sort(PNODE);
int main(void)
{
PNODE pHead = create_list();
showList(pHead);
if (isEmpty(pHead))
printf("%s
", " !");
else
printf("%s
", " !");
sort(pHead);
showList(pHead);
insert(pHead, 5, 100);
showList(pHead);
int val;
delete_list(pHead, 5, &val);
showList(pHead);
printf("%d
", val);
return 0;
}
PNODE create_list(void){
int len;
int i;
int val;
printf("%s ", " :");
scanf("%d", &len);
PNODE pHead = (PNODE)malloc(sizeof(NODE));
if(pHead==NULL){
printf("%s
", " !");
exit(-1);
}
PNODE pTail = pHead;
pTail->pNext = NULL;
for(i=0; ipNext = pNew;
pNew->data = val;
pNew->pNext = NULL;
pTail=pNew;
}
return pHead;
}
void showList(PNODE pHead){
PNODE p = pHead->pNext;
while (p!=NULL){
printf("%d ", p->data);
p = p->pNext;
}
printf("
");
}
bool isEmpty(PNODE pHead){
if (pHead->pNext==NULL)
return true;
return false;
}
int length(PNODE pHead){
int len = 0;
PNODE p = pHead->pNext;
while(p!=NULL){
p = p->pNext;
len++;
}
return len;
}
bool insert(PNODE pHead, int index, int val){
PNODE p = pHead;
int i=0;
while(ipNext;
i++;
}
if (p==NULL)
return false;
PNODE pNew = (PNODE)malloc(sizeof(NODE));
if (pNew==NULL){
printf("%s
", " !");
exit(-1);
}
pNew->data = val;
pNew->pNext=p->pNext;
p->pNext = pNew;
return true;
}
/**/
bool delete_list(PNODE pHead, int index, int * val){
PNODE p = pHead;
int i = 0;
while(ipNext;
i++;
}
if (p==NULL)
return false;
PNODE q = p->pNext;
*val = q->data;
p->pNext = q->pNext;
free(q);
return true;
}
void sort(PNODE pHead){
PNODE p, q;
for(p = pHead->pNext; p->pNext != NULL; p=p->pNext){
for(q=p->pNext; q != NULL; q=q->pNext){
if (p->data > q->data){
p->data = p->data + q->data;
q->data = p->data - q->data;
p->data = p->data - q->data;
}
}
}
}
email: [email protected]
저작권 성명: 블 로그 작성 이 쉽 지 않 습 니 다. 전재 할 때 출처 를 밝 혀 주 십시오. 대단히 감사합니다!
https://blog.csdn.net/zyy_2018/article/details/79733562
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
FHQ_Treap 트 리 (회전 없 는 Treap 트 리) 템 플 릿 방향이 나 무 는 회전 조작 이 필요 없 는 Treap 나무 로 FHQ (범 호 강) 사내 가 발명 하여 신 급 데이터 구조 라 고 할 수 있 습 니 다!그 는 짧 고 간결 하 며 배우 기 쉬 우 며, 그 사상의 우아 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.