利用合并排序算法对一个具有n个整数元素的数组进行排序;(n<100)
【输入形式】输入两行,第一行为一个整数n,第二行为n个数组元素,n个元素中间用空格隔开。
【输出形式】输出一行,排好序的数组(元素之间用一个空格隔开)。
【样例输入】8 8 9 0 1 2 5 4 3【样例输出】
0 1 2 3 4 5 8 9【代码展示】
#include#include #include void Merge(int B[],int C[],int A[],int p,int q) { int i=0,j=0,k=0; while(i if(C[i]<=A[j]) B[k++]=C[i++]; else B[k++]=A[j++]; } while(i
B[k++]=C[i++]; } while(j
B[k++]=A[j++]; } } void Mergesort(int A[],int n) { int i,j; if(n>1) { int B[100]; //左半部分 int C[100]; //右半部分 int mid=n/2; for(i=0;iint i,n; int a[100]; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); } Mergesort(a,n); for(i=0; i printf("%d ",a[i]); } return 0; }
8 8 9 0 1 2 5 4 3 0 1 2 3 4 5 8 9



