演算法學習筆記 排序 插入排序

2021-07-15 07:40:12 字數 1216 閱讀 5290

插入排序是最簡單的一種排序方法,對於少量的資料排序是十分有效的。插入排序十分容易理解,平時玩撲克時,在理牌的過程中就是使用了插入排序的思想。

可以通過這張來直觀的了解

下面是一張插入排序的動態圖。

下面使用c語言來實現這一演算法

#include 

void insertionsort(int , int);

int main()

insertionsort(num, 10);

for(i = 0; i < 10; i++)

printf("\n");

return0;}

void insertionsort(int num, int size)

num[j + 1] = key;}}

下面是使用python來完成的插入排序,用到了切片的技巧

#coding:utf-8

definsertionsort

(n):

if len(n) == 1:

return n;

b = insertionsort(n[1:])

m = len(b)

for i in range(m):

if n[0] <= b[i]:

return b[:i] + [n[0]] + b[i:]

return b + [n[0]]

if __name__ == '__main__':

num = raw_input().split(" ");

for i in range(len(num)):

num[i] = int(num[i]);

num = insertionsort(num)

print num

感覺python的黑魔法好厲害 0.0

插入排序演算法學習

插入排序就如同手裡放了一堆紙牌,把紙牌從左到右進行排序。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 ...

演算法學習 插入排序

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

演算法學習 插入排序

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