有沒有適合新手的方法呀,我好難懂
uj5u.com熱心網友回復:
https://blog.csdn.net/qq_45861670/article/details/104324788
這個可能有幫助
uj5u.com熱心網友回復:
#include <stdio.h>#include <stdlib.h>
#include <string.h>
typedef struct ListType { int n; struct ListType * next; } List;
// 創建一個帶有頭節點的單項鏈表
List * CreateList(int n, int * v) {
if (n<=0 ) return NULL;
List * pHead = (List*) malloc(sizeof(List));
List *p = pHead;
pHead->n = n; // 頭節點的n,用來記錄鏈表的長度了
while (n--) {
p->next = (List*) malloc(sizeof(List));
p->next->n = *v++;
p = p->next;
};
p->next = NULL;
return pHead;
};
void PrintList(List * pList) {
List * p = pList;
while (p->next) {
printf("%d ", p->next->n);
p = p->next;
}
printf("\n");
}
void SortList(List * pList) {
if ( NULL == pList) return ; // 空
if ( pList->n <2 ) return; // 只有一個或者是沒有,排個屁
int x=0;
while ( x < pList->n ) {
List * p = pList->next;
List * pNext = p->next;
while ( p && p->next ) {
if ( p->n > pNext->n) {
int t = p->n;
p->n = pNext->n;
pNext->n = t;
}
p = pNext; pNext=pNext->next;
}
x++;
}
}
int main() {
int init[] = {3, 8, 4, 7, 6, 2};
List * pList = CreateList(6,init);
PrintList(pList);
SortList(pList);
PrintList(pList);
return 0;
}
uj5u.com熱心網友回復:
和普通單鏈表一樣,只不過增加一個排序sort的演算法轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/134379.html
標籤:C語言
上一篇:進制轉換類新手求教
下一篇:資料結構
