1.题目描述:
快速排序
2.分析:
实现快速排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的移到数组的左边,比选择的数字大的数字移到数组的右边。
3.源代码:
// Copyright (c) 2015年 skewrain. All rights reserved.
#include <iostream>
#include <time.h>
using namespace std;
int RandomInRange(int start,int end)
{
if(end > start)
{
srand(time(NULL));
return start+rand() % ((end-start)); //产生start~end之间的随机数
}
return 0;
}
void swap_element(int *a,int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int Pa