/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 4 月 8 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:几个数
*问题描述:快速排序
*程序输出:排序后结果
*问题分析:
*算法设计:
*/
#include<iostream>
#include<cstdlib>
using namespace std;
int cmp(const void *a,const void *b)
{ //cmp函数的写法决定了升序还是降序
//前-后为升序,后-前为降序
return *(int *)a - *(int *)b;
}
int main()
{
int n;
cin>>n;
int *num=new int[n];
for(int i=0;i<n;i++)
cin>>num[i];
//num为数组名,10为数组长度,sizeof求元素大小,cmp为比较函数
qsort(num,n,sizeof(num[0]),cmp);
for(int j=0;j<n;j++)
cout<<num[j]<<" ";
delete num;
return 0;
}
运行结果:
心得体会:速度快,效率高,这下可OJ题目运行超时难题了。