冒泡,插入,歸併排序C 實現

2021-10-22 09:47:19 字數 1327 閱讀 1464

//冒泡

//冒泡是後半段有序

void

bubble0316

(vector<

int>

& arr)}}

}//插入排序

//前面部分有序

void

insert0316

(vector<

int>

&arr)

arr[j+1]

= temp;}}

//歸併

//將陣列分解成一系列有序陣列後合併,使用乙個臨時陣列儲存兩個有序陣列的合併

//合併時要輸入中間位置索引方便分開兩個有序序列

void

merge0316

(vector<

int>

&arr,

int start,

int mid,

int end, vector<

int>

&temp)

else

}while

(istart <= iend)

while

(jstart <= jend)

for(

int i =

0; i < temp.

size()

; i++

) temp.

clear()

;}void

mergesort0316

(vector<

int>

&arr,

int start,

int end, vector<

int>

&temp)

vector<

int>v =

; vector<

int>temp;

int n = v.

size()

; cout <<

"排序前"

<< endl;

for(

auto ch : v)

cout << endl;

//bubble0316(v);

//insert0316(v);

mergesort0316

(v,0

, n-

1, temp)

;//end是最後位置的索引,不是陣列大小

cout <<

"排序後"

<< endl;

for(

auto ch : v)

cout << endl;

system

("pause");

return

0;

python 實現插入排序 氣泡排序 歸併排序

def insertsort a 插入排序演算法 傳入乙個陣列,對陣列進行排序 print 排序前的順序 a length len a for i in range 1,length 從第二個開始 key a i j i 1 while j 0 and a j key a j 1 a j j j 1...

冒泡 插入 選擇 歸併排序

演算法原理 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若檔案的初始狀態是正序...

穩定排序(插入排序 氣泡排序 歸併排序)

插入排序 我們可以從字面意思去理解這個排序方式,可以把序列前後分為兩部分有序序列和待排序列,不斷的在待排序列中取出乙個數按某規則 從大到小或者從小到大 插入到有序序列中,直到待排序列都完成排序結束。演示 視覺化演算法 推薦 ps 本圖出處為此 c語言 實現 void insert sort int ...