用鍊錶實現氣泡排序!

2021-08-07 21:17:49 字數 829 閱讀 9788

我們需要把資料儲存在鍊錶中,然後呼叫排序函式就可以了。但必須要注意鍊錶與陣列的不同點,鍊錶沒有下標,要想訪問資料域必須通過節點來訪問。

二、**實現

#include#includetypedef int elemtype;

typedef struct node

node,*plist;

void init(plist* ihead)

void insert(plist head, elemtype val)

plist newnode = (plist)malloc(sizeof(node));

newnode->pdata = val;

newnode->pnext = null;

pcur->pnext = newnode;

head->pdata++;

}void show(plist head)

printf("\n");

}void listsort(plist head)

pcur = pcur->pnext;

pafter = pafter->pnext;

} }}void destroy(plist head)

}int main()

show(head);

listsort(head);

show(head);

destroy(head);

return 0;

}

執行結果:

氣泡排序(鍊錶實現)

暑假裡看到大神的一篇文章,在乙個大公司裡面試,面試氣泡排序鍊錶版,當時想了寫一下,不知該如何寫起,就放下了,最近資料結構又重新學習鍊錶,試著寫了下,對鍊錶的操作熟練運用吧。調的我很糾結啊。1 include 2 include 3 include 4 include 5 using namespac...

鍊錶氣泡排序

2011 07 22 21 33 111人閱讀收藏 舉報 任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則...

鍊錶氣泡排序

任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則有 p q 排序前 p1 next p1 next nex...