注册 登录
编程论坛 数据结构与算法

劳烦各位帮忙看看关于排序的问题

世界模型 发布于 2011-03-19 18:46, 556 次点击
用什么方法使10000个随机数中选出选出最小的5个随机数并且使时间空间复杂度最小
4 回复
#2
qq10235692232011-03-19 19:43
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int com(const void *a,const void *b)
{ return *(int*)a-*(int*)b; }
int main()
{
  srand(time(0));
  int m[10000]={0};
  int i=0;
  for(i=0;i<10000;i++)
  {
    m[i]=rand();
  }
  qsort(m,10000,sizeof(m[0]),com);  //系统qsort(),快速排序
  printf("最小的五个数:%d %d %d %d %d\n",m[0],m[1],m[2],m[3],m[4]); //可能有重复
  return  0;
}
#3
世界模型2011-03-19 21:15
能解释下那函数的功能么
#4
qq10235692232011-03-19 21:21
qsort(m,10000,sizeof(m[0]),com);  
m:排序一维数组名
10000:数组元素个数
sizeof(m[0]):数组一个元素占用字节数
com:决定排序顺序的函数
你套用就可以了!
#5
世界模型2011-03-19 22:26
恩,非常感谢
1