c版基於鍊錶的插入排序(改進版)

2022-08-29 14:51:23 字數 618 閱讀 4124

1. [**][c/c++]**     

/*** @todo    c版基於鍊錶的插入排序

* @author  koma

**/#include

#include

typedef struct nodelnode, *linklist;

/*** 建立並初始化乙個帶頭節點的鍊錶

**/linklist init() else

r = p;

}return list;

}/**

* 列印鍊錶 

**/void printlink( linklist l ) 情侶

printf("%d\n", q->data);

}void innsersort( linklist list1, linklist q ) else else

}//處理新鏈最後乙個元素

if ( !in ) }}

/*** 實現插入排序

**/linklist sort( linklist l )

//處理舊鏈最後乙個元素

innsersort(list1, q);

return list1;

}int main()  

四 希爾排序 改進版插入排序

希爾排序,是插入排序的改進版。將陣列內的值隔一段距離取出來當成乙個新的陣列排序,按照一定的間隔將整個陣列排序完成後,縮小間隔在排序,一直到間隔為一的時候再排一次。那麼這個時候排序完成。如上圖所示是間隔為4的時候進行排序,然後縮短間隔重複上邊的步驟即可,一直縮短間隔到1的時候停止迴圈,這個時候就完成了...

插入排序(c語言版)

插入排序 insertion sort 的基本思想 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排序好的序列中,直到全部記錄插入完成為止.假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直到i n 為止,依次將r i 插入當前的有序區r...

C和C 間的注釋轉換(改進版)

先吐槽下csdn,我的 被吃了,重新發一遍,心累qaq 相比上篇,現在改進後的 已經可以完全實現c和c 之間注釋的轉換了 並對上篇的 進行了一些改良 看起來更加直觀一些 注釋轉換的原理就不再贅述了 相比於初版 自定義了乙個convertcomment.h的標頭檔案 將函式宣告部分放入其中 讓 看起來...