09 排序1 排序

2021-08-16 00:02:14 字數 1646 閱讀 5769

09-排序1 排序(25 分)給定n

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

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

#include#include#includeusing namespace std;

const int cutoff = 10000;

int incre[3] = ;

void ******selectsort(int a,int n)

a[i] = temp;

}void heapsort(int a,int n)

for(i=n-1;i>0;i--)

}void insertsort(int a,int n)

}if(!flag) break;

}}//mergesort recurrence

void merge(int a,int tmpa,int l,int r,int rightend)

while(l <= leftend) tmpa[tmp++] = a[l++];

while(r <= rightend) tmpa[tmp++] = a[r++];

for(int i=0;ia[center]) swap(&a[left],&a[center]);

if(a[left] > a[right]) swap(&a[left],&a[right]);

if(a[center] > a[right]) swap(&a[center],&a[right]);

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

return a[right - 1];

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

while(a[--j] > pivot) {}

if(i < j) swap(&a[i],&a[j]);

else break;

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

qsort(a,left,i-1);

qsort(a,i+1,right);

}else insertsort(a+left,right-left+1);

}void quicksort(int a,int n)

//radixsort myself

void radixsort(int a,int n)

}return d;

}void radixsort(int data, int n) //基數排序

for(j = 1; j < 10; j++)

count[j] = count[j - 1] + count[j]; //將tmp中的位置依次分配給每個桶

for(j = n - 1; j >= 0; j--) //將所有桶中記錄依次收集到tmp中

for(j = 0; j < n; j++) //將臨時陣列的內容複製到data中

data[j] = tmp[j];

radix = radix * 10;

}}int main(){

int n;

cin>>n;

int a[n];

for(int i=0;i>a[i];

radixsort(a,n);

for(int i=0;i

09 排序1 排序

n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。資料2 11個不相同的整數,測試基本正確性 資料3 10 3個隨機整數 資料4 10 4個隨機整數 資料5 10 5個隨機整數 資料6 10 5個順序整數 資料7 10 5個逆序整數 資料8 10 5個基本有序的整數 資料9 10 5個隨機正...

09 排序1 排序

本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 只有1個元素 資料2 11個不相同的整數,測試基本正確性 資料3 103個隨機整數 資料4 104個隨機整數 資料5 105個隨機整數 資料6 105個順序整數 資料7 105個逆序整數 資料8 105個基本有序的...

09 排序1 排序 25

時間限制 5000 ms 記憶體限制 128000 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 輸入格式 輸入第一行給出正...