插入排序:
插入排序是假設數列已經按順序排列,反覆將每乙個元素插入,如果待插入資料比所有元素大,就直接放到最後;如果比前置元素小,前置元素後移,直至遇到比待插入小的位置。
初始狀態,假設數列只有乙個元素33
第一步將6插入 6比33小 33後移,6插入到33前面
第二步將-5插入 -5 比33小 33後移 -5比6小 6後移
第三步 將59插入 55 比-5 6 33 都大,直接插入在最後邊
第四步 將-12插入 -12比 -5 6 33 59 都小 12 插入最前端
view code
#include//冒泡法排序演算法insertion sort
using
namespace
std;
void display(int array, int
n) cout
<
} int insertion_sort(int array, int
n)
array[j]=temp;
display(array,n );}//
cout
}intmain()
;
int num_array=sizeof(array)/sizeof(int); //
獲取陣列長度
cout<
before sort the array is :
"<
display(array,num_array);
insertion_sort(array,num_array);
cout
<
after sort the array is :
"<
display(array,num_array);
system(
"pause");
return0;
}
選擇法排序演算法
常用排序演算法 插入排序
直接插入排序 假設從小到大 基本思想 1 從第2個數開始,與第1個數比較,若小於第乙個數則交換,這樣前兩個數已排序好 2 第三個數與第二個數比較,選擇交換或不交換,然後第二個數再與第乙個比較,選擇交換或不交換 3 以此類推,把當前數插入到之前已排序的序列中,直到處理完最後乙個數為止 時間複雜度 o ...
常用排序演算法 1 插入排序
插入演算法 基本插入 把要排序的數列分層兩部分 第一部分包含了數列除最後乙個元素外的所有元素,而第二部分僅包含數列的最後乙個元素,再把這個最後元素插入到此刻已經是有序的第一部分裡的正確位置,保證插入後數列的有序性。時間複雜度最好為o n 最壞o n 2 平均o n 2 空間複雜度o 1 插入排序包括...
常用排序演算法 插入排序解讀
常用的排序演算法有氣泡排序,快速排序,選擇排序,插入排序等,從效率上來講氣泡排序和選擇排序一般,10萬隨機數排序經測試,快速排序和插入排序毫秒級別,且效率比冒泡和選擇排序快百倍。這裡重要分析下如何寫出高效的插入排序 插入排序的思路 從小到大 1 認為n 1時陣列是已排序的 2 從i 2開始 i 2 ...