qsort函数的调用与实现
来源:互联网 发布:网络上扳手是什么意思 编辑:程序博客网 时间:2024/06/05 10:50
一、对int类型数组排序
C++代码
- int num[100];
Sample:
- int cmp ( const void *a ,const void *b)
- {
- return *(int *)a – *(int *)b;
- }
- qsort(num,100,sizeof(num[0]),cmp);
二、对char类型数组排序(同int类型)
C++代码
- char word[100];
Sample:
- int cmp(const void *a ,const void *b)
- {
- return *(char *)a – *(char*)b;
- }
- qsort(word,100,sizeof(word[0]),cmp)
三、对double类型数组排序(特别要注意)
C++代码
- double in[100];
- int cmp(const void *a ,const void *b)
- {
- return *(double *)a > *(double *)b ? 1 : -1;
- } qsort(in,100,sizeof(in[0]),cmp);
四、对结构体一级排序
C++代码
- struct In {
- double data;
- int other;
- }s[100]
- //按照data的值从小到大将结构体排序,关于结构体内的排序关键数据data的类型可以很多种,参考上面的例子写
- int cmp(const void *a ,constvoid *b)
- {
- return (*(In *)a).data >(*(In *)b).data ?1 : -1;
- }
- qsort(s,100,sizeof(s[0]),cmp);
代码示例
#include<stdio.h>
#include<stdlib.h>
int comp(const void *a,const void *b){
return *(double *)a>*(double *)b?1:-1;
//int型数组返回类型为
//return *(int *)a-*(int *)b;
}
int main()
{
int n,i;
double a[1000];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
qsort(a,n,sizeof(double),comp);
for(i=0;i<n;i++)
printf("%.2f ",a[i]);
system("pause");
return 0;
}
- qsort函数的调用与实现
- 调用qsort()的排序函数
- 库函数qsort函数的实现
- qsort实现原理与应用 指向函数的指针
- 回调函数,qsort函数,与qsort函数的模拟
- C语言qsort()函数的实现
- sort与qsort函数的用法
- 实现qsort函数原型
- 模拟实现qsort函数
- 模拟实现qsort函数
- 模拟实现qsort函数
- 折半查找的递归实现与qsort
- sort与qsort函数
- sort与qsort函数
- sort 与qsort的比较与调用方法
- 快排函数qsort调用的使用细则
- 快排函数qsort调用的使用细则
- sort()函数与qsort()函数
- Python的异常处理
- hdu 4044 树形DP
- 云计算与OpenStack(虚拟机Nova篇)
- Java中的线程同步 from sina
- Github-Client(ANDROID)开源之旅(一) ------ 初探GitHub
- qsort函数的调用与实现
- FileCache 无故消失问题
- 程序员技术练级攻略
- OMXCodec与OMX事件处理流程
- 浅谈sql server数据库的存储过程
- javascript 匿名函数的理解(透彻版)
- MongoDB的图形化管理工具 rockmongo 介绍
- Ubuntu安装Goagent教程(没用过,转载的)
- Vb汇编语言书籍推荐