資料結構排序演算法(一)直接插入排序

2021-08-26 20:18:09 字數 505 閱讀 1230

直接插入排序演算法的思想:每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中,直到全部記錄插入完成。

**如下:

這裡寫**片def

insert_sort

(a,n):

#a是待排序的陣列,n是陣列的長度

for i in range(1,n):#將迴圈從1開始而不是從0開始

if a[i-1]>a[i]:#如果帶插入的值小於前面的值,就將帶插入的值賦值給t

#j是為了給帶插入的元素尋找位置而新增的變數

t=a[i]

j=i-1

while a[j]>t and j>=0:

a[j+1]=a[j]

j-=1

a[j+1]=t#因為在while迴圈的時候j值已經減了一,所以最後要把這個1加上

a=[3,1,2,6,8,5]

insert_sort(a,len(a))

print(a)

資料結構 插入排序(一) 直接插入排序

1 直接插入排序演算法思想 把n個待排序的元素看出乙個有序表和乙個無序表,開始時有序表中只包含乙個元素,無序表含有n 1個元素,排序過程中每次從無序表中取出第乙個元素,將它插入有序表中的適當位置,使之成為新的有序表,重複n 1次可完成排序過程。增量法 把a i 插入到a 0 a 1 a i 1 中的...

排序 一 直接插入排序

1 直接插入排序 1 定義 直接插入排序 straight insertion sort 是一種最簡單的排序方法。它的基本操作是將乙個記錄插入到乙個長度為m 假設 的有序表中,使之仍保持有序,從而得到乙個新的長度為m 1 的有序表。2 演算法思路 設有一組關鍵字 k 1 k 2 k n 排序開始就認...

排序一 直接插入排序

基本思想 當插入第i i 1 個物件時,前面的i 1 項 元素已經排序完成,這時 用 第 i 項 和 前面的 i 1 項進行比較,然後把插入的位置後面的元素後移一位 再 插入該位置。實現一趟排序的步驟 找位置 移位 插入資料 實現 void insertsort int arr size t siz...