8645 归并排序(非递归算法)
时间限制:1000MS 内存限制:1000K
题型: 编程题 语言: 无限制
Description
用函数实现归并排序(非递归算法),并输出每趟排序的结果
Input
第一行:键盘输入待排序关键的个数n 第二行:输入n个待排序关键字,用空格分隔数据
Output
每行输出每趟排序的结果,数据之间用一个空格分隔
Sample Input
10 5 4 8 0 9 3 2 6 7 1
Sample Output
4 5 0 8 3 9 2 6 1 7 0 4 5 8 2 3 6 9 1 7 0 2 3 4 5 6 8 9 1 7 0 1 2 3 4 5 6 7 8 9
//以下为AC代码
#include<iostream>
using namespace std;
void Process(int n);
void MergeSort(int ori[],int n);
void newMerge(int ori[],int tmpArray[],int s,int n);//没有完成整个归并时,用这个函数归并两个相邻的已排序的数组
void Merge(int ori[],int tmpArray[],int left,int mid,int right); //归并两个已排好