排序演算法——直接插入排序
基本思想
直接插入排序是一種最簡單的排序方法,它的基本思想是:初始時,有序表有一個元素,而無序表中有n-1個元素,每次進行排序時將無序表的第一個元素插入到有序表的適當位置,重複n-1次完成排序
舉個例子:
升序排列
對於上面這個陣列來說,我們的有序表中有8這個元素,然後將無序表中的6插入到有序表中
,比較8和6兩個元素然後交換。
然後將9插入到有序表中,發現此時是最大的元素於是插入到8的後面。
然後將12插入到有序表中,發現此時是最大的元素於是插入到12的後面。
然後將1插入到有序表中,發現此時1比12小,交換1和12。
此時1比9小,交換1和9。直到1排到最小的位置
程式碼實現如下:
void Math_insertSort(int data[],int length)
{
int i, j, t;
for (i = 0; i < length - 1; i++)
{
t = data[i + 1];
j = i;
while (j > -1 && t < data[j])
{
data[j+1] = data[j];
j--;
}
data[j + 1] = t;
}
}
相關文章
- 排序演算法__直接插入排序排序演算法
- 排序演算法:直接插入排序排序演算法
- 直接插入排序演算法排序演算法
- 【排序演算法動畫解】直接插入排序排序演算法動畫
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 直接插入排序排序
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 程式猿修仙之路--演算法之直接插入排序演算法排序
- 希爾排序使用直接插入排序、二分插入排序的C++程式碼實現演算法排序C++演算法
- 排序演算法__折半插入排序排序演算法
- PHP 排序演算法之插入排序PHP排序演算法
- 排序演算法之折半插入排序排序演算法
- 排序演算法:插入排序演算法 PHP 版排序演算法PHP
- 常用演算法-插入排序演算法排序
- 淺解前端必須掌握的演算法(三):直接插入排序前端演算法排序
- 排序演算法入門之「插入排序」排序演算法
- 排序演算法(3)插入排序(Insertion Sort)排序演算法
- 排序演算法之「插入排序(Insertion Sort)」排序演算法
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 實時插入排序演算法排序演算法
- 排序演算法:二分插入排序排序演算法
- Java常見排序演算法之插入排序Java排序演算法
- 畫江湖之演算法篇【排序演算法】插入排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 插入排序演算法排序
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 排序演算法之——二分插入排序演算法排序演算法
- 三言兩語講排序演算法——插入排序排序演算法
- 插入排序排序排序
- PHP 演算法02之插入排序PHP演算法排序
- Python進階-演算法-插入排序Python演算法排序
- 死磕演算法之插入排序演算法排序
- 小白懂演算法之插入排序演算法排序
- 從演算法開始(插入排序)演算法排序
- 從演算法開始[插入排序]演算法排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 【一起學習排序演算法】4 插入排序排序演算法
- Java實現氣泡排序和插入排序演算法Java排序演算法