浙大資料結構學習 快速排序

2021-09-26 06:37:11 字數 2973 閱讀 8330

給定n個(長整型範圍內的)整數,要求輸出從小到大排序後的結果。

本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下:

資料1:只有1個元素;

資料2:11個不相同的整數,測試基本正確性;

資料3:103個隨機整數;

資料4:104個隨機整數;

資料5:105個隨機整數;

資料6:105個順序整數;

資料7:105個逆序整數;

資料8:105個基本有序的整數;

資料9:105個隨機正整數,每個數字不超過1000。

輸入格式:

輸入第一行給出正整數n(≤10^5​​ ),隨後一行給出n個(長整型範圍內的)整數,其間以空格分隔。

輸出格式:

在一行中輸出從小到大排序後的結果,數字間以1個空格分隔,行末不得有多餘空格。

輸入樣例:

114 981 10 -17 0 -20 29 50 8 43 -5

輸出樣例:

-20 -17 -5 0 4 8 10 29 43 50 981

#include #define maxsize 100000

int a[maxsize];

using namespace std;

void getdata(int a, int n)

}void disparr(int a, int n)

}void swap(int* val1, int* val2)

int median3(int a, int left, int right)

void qsort(int a, int left, int right)

else high--;

}else low++;

} swap(&a[low], &a[right - 1]);

//cout << "過程結果:"; disparr(a, right - left + 1); cout << endl;

浙大資料結構學習筆記 1 3 什麼是資料結構

陳越老師分別介紹了四種演算法,複雜度逐步降低。由最初的nnn到n n再到nlog n,最後降為n。後面兩種演算法沒有理解,回顧時再看。nt maxsubseqsum1 int a int n return maxsum int maxsubseqsum2 int a int n return max...

資料結構學習筆記 快速排序

今天花了一上午的時間終於明白快速排序的原理了,這裡和大家分享一下。比如有一串數字 52684 37,我們通過快速排序先找出第乙個數字 5 在這一串數字中的位置,然後再對數字 5 兩邊的數字進行同樣的排序方法,最終將整串數字排序完畢。找到第乙個數字 5 的具體步驟如下 從這串數字的兩頭出發,把第乙個數...

資料結構學習之 快速排序法

2013年3月25日 21 21 39 xulei 快速排序法 1.先找到第乙個元素的位置,把需要排序的序列分成兩個部分 2.分別對左 右部分進行第一步操作,直到左右部分只有乙個元素為止.如陣列 9 0 8 10 5 2 13 公升序排序 1.定義中間值 val 儲存第乙個元素值,兩個指標 low ...