输入随机数,实现归并排序

题目:随机产生一个数量为n的数组,用归并排序进行排序。

分析:
1、需要随机产生一个整数数组;
2、采用的算法是合并排序,也就是用归并排序;
3、输出排序后的数组。
归并排序:
先把已知数组分成两组,然后两组中分别再分成两组,直到每一组都只有一个数据,然后再合并的同时排序,直到都合并起来。
需要写出两个函数:

  • MergeSort() —归并函数,用递归的方式把数据细分,最后合并。
  • Merge() —合并函数。

最后代码如下:

#include 
#include 
#include
using namespace std;
void merge(int *a,int p, int q,int r);
void merge_sort(int *a,int p,int r);

int main()
{
	int n;
	cout << "请输入n的个数:"<> n;
	int a[100000];
	
	time_t t;
	srand ((unsigned)time (&t));
	
	for(int i = 0; i < n;i++ )
	{
		a[i] = rand();
	}

	cout<<"排序之前的数组:"<

程序输出结果截图:
输入随机数,实现归并排序_第1张图片

你可能感兴趣的:(算法)