給定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 ...