簡單的插入排序演算法:演算法思想比較簡單,比如我們拿到乙個順序比較亂的一堆數字: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,直到找到已排序的元素小於或者等於新元素的位置 將...