合併兩陣列並進行快速排序

2021-10-05 07:21:01 字數 1387 閱讀 6170

兩陣列合併到新陣列,然後新陣列元素排序輸出。

#include

void

quicksort

(int a,

int left,

int right)

int len =

sizeof

(a)/

sizeof

(int);

int pivot = a[left]

;int i = left;

// 不要將i置為left+1,會有錯誤,這個坑不要再跳進去了

int j = right;

while

(iwhile

(i<=pivot)

int temp = a[i]

; a[i]

= a[j]

; a[j]

= temp;

}int temp = pivot;

a[left]

= a[j]

; a[j]

= temp;

if(j-

1>=left)

if(j+

1<=right)

}int

main()

;int a=

;int i,j;

int lena =

sizeof

(a)/

sizeof

(int);

int lenb =

sizeof

(b)/

sizeof

(int);

printf

("原始a陣列:\n");

for(i=

0;i)printf

("\n原始b陣列:\n");

for(i=

0;i)// 開始合併

// 分別計算兩陣列長度

int len = lena + lenb;

int res[len]

;for

(i=0

;i)for

(i=0

,j=lena;i

,j++

)printf

("\na與b合併後:\n");

for(i=

0;i)printf

("\n對合併陣列進行排序後:\n");

// 對合併後的陣列進行排序

陣列合併排序和快速排序

學習c語言的都知道很多時候我們都需要對陣列進行排序,之前給大家分享了選擇排序和氣泡排序,現在給大家分享乙個比較難一點陣列合併排序和快速排序。同樣分析其相應的時間複雜度和空間複雜度。如果分析錯了,還望指點一二。現在輔助合併排序的程式。合併排序程式方法一 include void merge int r...

合併兩個排序的陣列

includeusing namespace std 有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2.實現乙個函式,把a2中的所有數字插入到a 中並且所有的數字是排序的。思路 先計算出兩個陣列中元素的總個數,然後從尾到頭比較array1和array2中的數字,並把較大的數字複...

修改檔名並進行排序rename

檔案訪問方式 parentdir rename.py video 0.mp4 1.mp4 2.mp4 3.mp4建立rename.py import os import sys filedir os.path.dirname sys.ar 0 獲取指令碼所在目錄 os.chdir filedir 將...