基礎排序 插入排序

2021-08-11 10:09:51 字數 700 閱讀 6604

插入排序:

二個序列,一號序列放的是有序序列,二號序列是無序的,最終的目的是要一號序列是二號序列排好的樣子;

首先一號序列是空的,那就取乙個數從二號序列中然後放到一號中,總所周知,乙個數的序列肯定是有序的,然後繼續執行這個操作,從二號序列中取乙個數放到一號序列的後面,你要保證的是一號序列在放下乙個數之前的數都是有序的,所以,你放進去的時候要比較和前乙個的大小,如果按照從小到大的順序,你要保證你放的數比前乙個大才是無需操作的,因為你每次都這樣保證的話,這個數之前的數肯定比他還小更不可能比他大了,但是要是比他小的話就需要操作了,你的目的是把這個數放到他應該的位置,所以你在一號序列中不斷比較,直到有乙個數比他小,然後記錄他的位置,然後你得把這個位置之後的位置向後移,不然他沒位置怎麼坐啊,然後把他放進去就行了,當二號序列中的數都放到一號中就是完成了;

但是現在你要在乙個序列中做這個事情,沒有二個序列;

**:這是簡化了一點的**,步驟和講的有些差別;

#include

void swap(int

*x,int

*y)void px(int a,int n)

a[j]=temp;}}

}void pr(int a,int n)

int main()

; px(a,n);

pr(a,n);

return

0; }

基礎排序之插入排序

主要思想 將數列分為前後兩部分,前一部分有序,後一部分無序,依次將後面無序的序列中的值插入前面有序的序列中 初始時前面有序序列就是首元素 實現依舊是兩個巢狀的迴圈。時間複雜度 o n 2 demo include includeusing namespace std 插入排序 時間複雜度 o n 2...

基礎排序演算法 插入排序

插入排序,就是如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜...

插入排序 折半插入排序

折半插入排序 binary insertion sort 直接插入排序採用順序查詢法查詢當前記錄在已排好序的序列中插入位置,這個 查詢 操作可利用 折半查詢 來實 現,由此進行的插入排序稱之為折半插入排序 binary insertion sort 演算法思想 1 將待排序的記錄存放在陣列r 1.n...