資料結構 單鏈表 直接插入排序

2021-07-11 14:01:14 字數 461 閱讀 3183

有乙個帶頭節點的單鏈表l(至少有乙個資料節點),設計乙個程式使其元素呈遞增有序排列 。

思路:先構造乙個只含有乙個資料節點的有序表。然後掃瞄單鏈表l餘下的節點*p(直到p為null為止),在有序表中通過比較找插入*p節點的前驅節點*pre,然後在*pre節點之後插入*p節點。

#include using namespace std;

#include typedef int elemtype;

typedef struct lnode

linklist;

void sort(linklist *&l)

}int main()

; for(int i=0;i<10;i++)

r->next=null;

cout<

while(p!=null)

cout執行結果:

單鏈表 直接插入排序

有乙個帶頭節點的單鏈表l 至少有乙個資料節點 設計乙個演算法使其元素遞增有序排列。使用直接插入排序演算法進行排序。使用原鍊錶l構造了乙個有序區,有序區中只有乙個元素,這個元素是鍊錶l的開始節點 頭節點之後的那個節點 l next next null 使用指標p先儲存下l中未排序元素 無序區中 的資訊...

資料結構 直接插入排序

直接插入排序 include include typedef struct int elem int length sqlist void initsqlist sqlist l int i printf 請輸入元素個數 scanf d l length l elem int malloc size...

資料結構 直接插入排序

直接插入排序 將待插入子串行元素逐步插入到有序序列的執行過程。設有一待排序序列s 其中是有序的,是無序的,要把後面無需的元素,乙個乙個的插入到前面有序的集合中去。如下面的序列可以分為兩個子串行 和 初始序列 75 88 68 92 88 62 77 96 80 72 第一次排序 75 88 68 9...