根據如下插入排序基本思想程式設計:
例如:
要對3,6,2,4從小到大排序:
考慮規模為1的問題,即數字3,乙個數顯然是有序的;
規模為1的問題求解完畢後,加入新的數字6,將其放在3後面,得到序列3,6,從而解決了規模為2的問題;
規模為2的問題求解完畢後,加入新的數字2,將其放在3前面,得到序列2,3,6,從而解決了規模為3的問題;
規模為3的問題求解完畢後,加入新的數字4,將其放在2和3中間,得到序列2,3,4,6,從而解決了規模為4的問題,排序過程結束。
適用於初學者
#include
using
namespace std;
intmain()
;int new_intarray[10]
=;//第乙個數不用排序
new_intarray[0]
= intarray[0]
;for
(i =
1; i <10;
++i)
else
break;}
}}for(i =
0; i <10;
++i)cout << new_intarray[i]
<<
'\t'
;return0;
}
C 實現插入排序
感謝morewindows的文章,造福我等學渣啊 複雜度應該也是o n 2 using system using system.collections.generic using system.linq using system.text namespace 排序 if j i 1 將待插入的a i...
插入排序 C 實現
寫給自己!插入排序演算法,其如同打牌,手裡總是已經排好續的牌,而桌面上的是未知牌,其思想是 拿起一張牌,與手中的牌從右到左 從大到小 進行比較,找到合適的位置插入即可。插入排序演算法沒有合併排序算好效率高,他隨著輸入的增大而增大。思想 對於將要插入的第j個元素,與已經排序好的0 j 1個元素從j 1...
插入排序C 實現
演算法描述 從陣列第二個元素開始向後掃瞄,將每個元素插到它前面所有元素的合適位置。下面給出整數陣列的實現,對於其他複雜型別只需實現相應的自定義比較函式即可 include include using namespace std const int num 20 void exch int s,int...