关闭

备忘qsort函数的使用

标签: randomincludelist
337人阅读 评论(0) 收藏 举报

#include <stdio.h>
#include <stdlib.h>

#define NUM 40

void fillarray (double ar[],int n);
void showarray (const void *pl, int n);
int mycomp (const void *pl, const void *p2);

int main (void)
{
 double vals[NUM];
 fillarray (vals, NUM);
 puts ("Random list: ");
 showarray (vals, NUM);
 qsort (vals, NUM, sizeof (double), mycomp);
 puts ("/nSorted list: ");
 showarray (vals, NUM);
 
 return 0;
}

void fillarray (double ar[], int n)
{
 int index;
 for (index = 0; index < n; index++)
  ar[index] = (double) rand ()/((double) rand () +0.1);
}

void showarray (const double ar[], int n)
{
 int index;
 
 for (index = 0; index < n; index++)
 {
  printf ("%9.4f ",ar[index]);
  if (index % 6 == 5)
   putchar ('/n');
 }
 if (index % 6 != 0)
  putchar ('/n');
}

int mycomp (const void *p1, const void *p2)
{
 const double *a1 = (const double *)p1;
 const double *a2 = (const double *)p2;
 
 if (*a1 < *a2)
  return -1;
 else if (*a1 == *a2)
  return 0;
 else
  return 1;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:255165次
    • 积分:2207
    • 等级:
    • 排名:第17152名
    • 原创:43篇
    • 转载:12篇
    • 译文:0篇
    • 评论:52条
    文章分类
    最新评论