以前使用RM时,ruby脚本提供一个sort函数,可以把数组进行排序,后来得知采用的算法是快速排序。
随着数据结构课程的学习,
快速排序如今也不再神秘,
代码如下
#include <iostream>
using namespace std;
void Quicksort(int a[],int low,int high)
{
if(low>=high)
{
return;
}
int first=low;
int last=high;
int key=a[first];
while(first!=last)
{
while(first<high and a[first]<key)
first++;
while(last>low and a[last]>key)
last--;
if(first<last)
{
int temp = a[first];
a[first] = a[last];
a[last] = temp;
}
}
a[first]=key;
Quicksort(a,low,first-1);
Quicksort(a,last+1,high);
}
int main()
{
int i,a[100],x,n=0;
cin>>n;
for(i=0; i<n; i++)
cin>>a[i];
Quicksort(a,0,n-1);
for(i=0; i<=n-1; i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}