pat 09 排序1 排序 25

2022-05-28 05:09:09 字數 2970 閱讀 1173

突然發現堆排序不會了

//25ms,stl自帶,幹過他真難

#include

#include

using

namespace

std;

int main()

return0;}

//31ms,原始希爾排序

#include

void shell_sort(int a,int n)

}}int main()

return0;}

//測試6超時,1637ms,插入排序,效果比冒泡好

#include

void insertion_sort(int a,int n)

}int main()

return0;}

//測試4、6、8超時,冒泡

#include

#include

using

namespace

std;

void bubble_sort(int a,int n)

}if(flag==0) break;

}}int main()

return0;}

//31ms,希爾排序,hibbard增量

#include

int b[20];

int intt()

}void shell_sort(int a,int n)

k--;

}}int main()

return0;}

//27ms,希爾排序sedgewick排序

#include

#include

int b[20];

int intt()

}void shell_sort(int a,int n)

k--;

}}int main()

return0;}

//並歸遞迴形式

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int inf=1

<<30;

const

int n=100000+5;

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;i//分治

void msort(int a,int tmpa,int l,int rightend)

}//統一函式介面

void merge_sort(int a,int n)

int main()

return0;}

/*測試點 結果 用時(ms) 記憶體(kb) 得分/滿分

0 答案正確 1 312 1/1

1 答案正確 1 184 10/10

2 答案正確 1 312 2/2

3 答案正確 4 312 2/2

4 答案正確 29 1592 2/2

5 答案正確 23 1592 2/2

6 答案正確 23 1592 2/2

7 答案正確 23 1664 2/2

8 答案正確 26 1336 2/2

*///並歸,非遞迴形式

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int inf=1

<<30;

const

int n=100000+5;

void merge1(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;ivoid merge_pass(int a,int tmpa,int n,int length)

}int main()

return0;}

/*測試點 結果 用時(ms) 記憶體(kb) 得分/滿分

0 答案正確 1 236 1/1

1 答案正確 1 256 10/10

2 答案正確 1 360 2/2

3 答案正確 4 360 2/2

4 答案正確 29 1564 2/2

5 答案正確 22 1640 2/2

6 答案正確 22 1640 2/2

7 答案正確 22 1536 2/2

8 答案正確 26 1384 2/2

*/

09 排序1 排序 25

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

09 排序1 排序 25分

排序 include include include define maxn 100005 void swap int a,int b void bubble sort int a,int n if flag break void insertion sort int a,int n void sh...

09 排序1 排序 25分

給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 只有1個元素 資料2 11個不相同的整數,測試基本正確性 資料3 103個隨機整數 資料4 104個隨機整數 資料5 105個隨機整數 資料6 105個...