插入排序演算法學習

2021-09-06 01:31:15 字數 549 閱讀 1970

插入排序就如同手裡放了一堆紙牌,把紙牌從左到右進行排序。

insert_sort(a):

for:j<- 2 to  n;(n為陣列a的長度)

do key<-a[j];

( insert a[j] into the sorted sequence a[1.....j-1];)

i <- j-1;

while i>0 and a[i]>key

do a[i+1] <- a[i]

i <- i+1

a[i+1] <- key;

#includeusing namespace std;

templatevoid insert_sort(t *a,int n)

a[j+1]=key; }}

int main()

; insert_sort(a,6);

for(int i=0;i<6;++i)

cout<}

這個演算法是雙層迴圈,所以複雜度為o(n2),因此插入排序適合對於規模較小的資料進行排序。

演算法學習 插入排序

插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入 實現 public static void insertsort int array if array.length 0 r...

演算法學習 插入排序

演算法介紹 插入排序 insertion sort 是一種簡單直觀且穩定的排序演算法。如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從...

演算法學習 插入排序 Java

插入排序是演算法入門的基礎演算法之一,它的原理類似於撲克牌插入的過程。1 從第二個位置逐個與前面元素進行比較 2 逐步替換position位置 3 直到找到比當前元素小的元素,將當前元素放到position位置上 具體 過程 public class insertsort insertsort ar...