插入排序及思想引用

2021-07-16 02:08:54 字數 1062 閱讀 8796

1;直接插入排序,直接看**吧,

//插入排序就是尋找目標位置,移動,插入;

#include

int main()

; for(i = 1; i < 10; i++)//插入排序的思路

a[j] = k;//將要插入的放到合適的位置

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

return

0 ;}

2;二分插入排序;也就是利用二分查詢加插入吧;看**

//二分插入其實就是利用二分查詢來找到位置,最後在插入的排序方法;

#include

int main()

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

for(j = i-1; j >= left; j--)//移位

a[left] = num;//插入

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

printf("%4d",a[i]);

return

0 ;}

3;介紹插入排序並不是要知道其**是怎麼樣的,主要是在於其思想。

思想;尋找—-移位—插入;

再看一道它的應用吧。

csu1558

題目 意思很簡單就是讓它先小的數相加,並且還要每次相加後要再次比較,兩個小的相加;超時了很多次;關鍵在於怎麼動態排序;每次都找到兩個小的值相加;這裡就用到了插入排序的思想;

貼**;

#include"stdio.h"

#include"stdlib.h"

int cmp(const

void*a,const

void *b)

int main()

printf("%d\n",t);

}return

0;}

題目的關鍵在於

for(i=n;i>=2;i--)

這裡的動態排序;;;;就借用了插入排序的思想;;;;

插入排序思想與實現

插入排序的基本思想 每一趟將乙個待排序元素,按其排序碼大小插入到前面已經排好序的一組元素的適當位置上,直到所有待排序元素元素全部插入為止。在這裡,這裡介紹兩種具體的插入排序演算法 直接插入排序,希爾排序。1 直接插入排序 直接插入排序的思想 當插入第i i 1 個元素時,前面的arr 0 arr i...

字典及插入排序

一,複習 元組 a 列表 b 二,字典 儲存方式 key value 1,建立 a 2,為什麼有鍵?確定樹3,b 鍵值可以是字串,數字,元組,不能是列表 列表可變 4,鍵值不可相同 相同會被覆蓋 5,value值的型別 沒有限制 6,操作 增刪改查 for key in b.keys print k...

氣泡排序,選擇排序,插入排序思想分析

氣泡排序 思想 首先找到乙個最大值或者最小值,然後在剩下的待排序集合中找最大或最小 方法 相鄰的兩個比較,將較大的值向後交換,待第一次迴圈結束,最大值交換到最後乙個,因為是兩兩比較,所以第一次迴圈至少需要比較n 1次,最壞情況下需交換n 1次 隨後每次迴圈,比較次數逐漸減少,直達只剩乙個元素,時間複...