欢迎 airforce 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2009年01月08日 星期四  您现在位于: 首页 → 技术文章 → C语言中用qsort()...
   C语言中用qsort()快速排序
作者:raincatss  出处:raincatss.cublog.cn  更新时间: 2007年05月31日 
C语言中排序的算法有很多种,系统也提供了一个函数qsort()可以实现快速排序。原型如下:
 

void qsort(void *base, size_t nmem, size_t size, int (*comp)(const void *, const void *));

它根据comp所指向的函数所提供的顺序对base所指向的数组进行排序,nmem为参加排序的元素个数,size为每个元素所占的字节数。例如要对元素进行升序排列,则定义comp所指向的函数为:如果其第一个参数比第二个参数小,则返回一个小于0的值,反之则返回一个大于0的值,如果相等,则返回0。

例:

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

int comp(const void *, const void *);

int main(int argc, char *argv[])
{
    int i;
    int array[] = {6, 8, 2, 9, 1, 0};

    qsort(array, 6, sizeof(int), comp);

    for (i = 0; i < 6; i ++) {
        printf("%d\t", array[i]);
    }
    printf("\n");

    return 0;
}

int comp(const void *p, const void *q)
{
    return (*(int *)p - *(int *)q);
}

运行结果如下:

0 1 2 6 8 9

 (本文已被浏览 5556 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:不使用逻辑运算求得两数的最大值
下篇文章:在centos 5中使用xfce桌面环境
 相关文章:
SCO OpenServer 5.0.7连上SQLSERVER2000全纪录 SCO OpenServer 5.0.7制作紧急启动光盘的方法
将SCO OpenServer 5.0.6安装到IBM X3650上 如何把一个软盘镜像HBA文件转光盘ISO格式HBA文件
SCO操作系统安装Serial ATA (SATA)硬盘的方式 ubuntu 8.04 上安装 oracle 10g
sco unix 5.07 使用windows FAT 格式的USB盘过程 制作带有hpsas驱动的SCO5.0.6应急和引导光盘安装G5
联想扬天M2600C安装SCO5.0.6+Windows XP 万年历的C语言程序
Sco UNIX的核心引导过程详解 Fedora 7一共有3种类型的Live镜像
Fedora 7下玩游戏 优化Fedora 7,关掉不需要的Fedora services
Linux 下 C 语言编程 C语言常见错误
在centos 5中使用xfce桌面环境 不使用逻辑运算求得两数的最大值
C语言中用bsearch()实现查找操作 判断无符号整数的二进制表示中1的个数

相关搜索
查看百度中关于C语言中用qsort()快速排序的更多内容
查看google中关于C语言中用qsort()快速排序的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.