插入排序演算法

2021-06-26 20:09:34 字數 790 閱讀 1919

簡單的插入排序演算法:演算法思想比較簡單,比如我們拿到乙個順序比較亂的一堆數字:1,4,2,7,0,2,4,7,8.

插入排序演算法便是先拿出第一項:1

之後拿第二項,4比1大,直接插入到他的後方:1,4

之後拿第三項,2比4小,把4後移一位,之後比較2和1,2比1大,所以2插入到第二個位置:1,2,4

之後拿到第四項,7比4大,所以插入後方。1,2,4,7.

之後第五項,0比7小,7後移一位,0比2小,2後移一位,0比4小,4後移一位,0比1小,1後移一位,之後0插入到第一項。

之後的以此類推。

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace 直接插入排序

; inserstionsort(nums);

console.readkey();

}/// /// 直接插入排序

///

/// 待排序的陣列

public static void inserstionsort(int nums)

/*上一步執行完後多執行了一次j--,j+1之後便是我們要將

* 此元素放的位置

*/nums[j + 1] = v;

}//迴圈遍歷出排序好的陣列

for (int i = 0; i < nums.length; i++)}}

}

插入排序演算法

插入排序演算法 思想 把排序過程看作是序列單個有序擴充套件為整體有序的過程,即首先取序列第二個元素與第乙個元素比較,將其插入合適位置,再將第三個元素與前兩個元素比較,將其插入合適位置,如此進行,直到最後取第n個元素與前n 1個元素進行比較並將其插入合適位置。演算法 建立日期 2004 12 14 插...

演算法 插入排序

include include 插入排序 n 2為的效率。具體思想 將陣列分為兩部分,一部分是有序的,一部分為無序的 然後從無序中選取乙個數插入在有序的數中的恰當的位置,以此迭代,直到無序的數全部遍厲完畢 void insert sort int a,int n a j tmp break retu...

插入排序演算法

下面這段話摘自 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將...