关于标准库函数qsort()的使用

/*e19  编程。使用标准库函数qsort(),对各类数组进行排序。函数原型为:
    void qsort((void*)a,int size,int width,int(*fcmp)(const void*,const void*));
    (1) 对整数数组排序。要求按每个元素各位数字之和,升序排列。
         (12,32,42,51,8,16,51,21,19,9)
    (2) 对浮点数组排序。升序排列。
         (32.1,456.87,332.67,442.0,98.12,451.79,340.12,54.55,99.87,72.5)
    (3) 对字符串数组排序。
         (enter,number,size,begin,of,cat,cap,program,certain,a)
*/
#include <iostream>
#include <stdlib.h>
using namespace std;
int cmpint(const void *a,const void *b)
{
 return *(int*)a-*(int*)b;
}
int cmpfloat(const void *a,const void *b)
{
 return *(double*)a-*(double*)b;
}
int cmpstring(const void *a,const void *b)
{
 return strcmp((char*)a,(char*)b);
}
void main()
{
 int i[]={12,32,42,51,8,16,51,21,19,9};
 double f[]={32.1,456.87,332.67,442.0,98.12,451.79,340.12,54.55,99.87,72.5};
 char s[][10]={"enter","number","size","begin","of","cat","cap","program","certain","a"};
 qsort(i,10,sizeof(i[0]),cmpint);
 qsort(f,10,sizeof(f[0]),cmpfloat);
 qsort(s,10,10,cmpstring);
 for(int index=0;index<10;index++)
  cout<<i[index]<<'/t';
 cout<<endl;
 for(index=0;index<10;index++)
  cout<<f[index]<<'/t';
 cout<<endl;
 for(index=0;index<10;index++)
  cout<<s[index]<<'/t';
 cout<<endl;
}
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值