C语言程序设计之标准库快速排序qsort函数,排序效率高,使用方便,太棒了。

qsort函数定义如下:

#include <stdlib.h>void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

qsort函数示例,排序点,按距离排序。直接上代码:

#include <stdio.h>
#include <stdlib.h>struct point { int x; int y; };int my_dist_cmp(const void* i, const void* j)
{struct point* a = (struct point*)i;struct point* b = (struct point*)j;return ((a->x) * (a->x) + (a->y) * (a->y)) - ((b->x) * (b->x) + (b->y) * (b->y));
}int main(void)
{struct point points[4] = { {10,5},{0,0},{-4,-5},{5,10} };printf("排序前的点:\n");for (int i = 0; i < 4; i++) {printf("(%d, %d) ", points[i].x, points[i].y);}printf("\n");qsort(points, 4, sizeof(struct point), my_dist_cmp);printf("排序后的点:\n");for (int i = 0; i < 4; i++) {printf("(%d, %d) ", points[i].x, points[i].y);}printf("\n");return(0);
}

运行结果:

E:\Workspace>tcc -run hello.c
排序前的点:
(10, 5) (0, 0) (-4, -5) (5, 10)
排序后的点:
(0, 0) (-4, -5) (5, 10) (10, 5)

至此,OK,大功告成。。。

C语言程序设计之标准库快速排序qsort函数用法示例相关推荐

  1. 全面、详细、通俗易懂的C语言语法和标准库

    文章目录 前言 变量 变量的性质 变量的声明和变量的定义 声明说明符 存储类型符 类型限定符 类型说明符 声明符 不完整类型 不完整类型的限制 灵活数组成员 变量的初始化和变量的赋值 表达式和运算符 ...

  2. C语言快速排序--qsort函数

    C语言快速排序–qsort函数 一.什么是qsort函数 qsort函数是C语言编译器函数库自带的快速排序函数. 其包含在#include<stdlib.h>头文件里面,所以在使用的时候需 ...

  3. C语言模拟实现标准库函数之qsort() 2

    C语言模拟实现标准库函数之qsort() <1> https://blog.csdn.net/csdn_kou/article/details/80158194 排序数字 int int_ ...

  4. 计算机等级考试《二级Java语言程序设计》题库

    计算机等级考试<二级Java语言程序设计>题库 完整版:http://zgw.100xuexi.com/SubItem/IndexInfoDetail.aspx?id=e63f251c-3 ...

  5. c语言程序设计精髓daan,2020MOOCC语言程序设计精髓标准答案

    设随机变量X的方差存在,语言程则( ) 读下面软件,序设for循环第三遍,max是多少?unsignedcharaa[10]={8,9,1,0,11,3,6,10,0,1};max=0:for(i=0 ...

  6. 假设当年产值为100c语言答案,C语言程序设计试题题库含答案zdui.doc

    C语言程序设计试题题库含答案zdui 班号姓名 C语言 试 题 题号一二三四五六七八九十总分附加题分数 一.选择题:(20分,每题2分) 1.以下不正确的C语言标识符是( ). A. ABC B. a ...

  7. 假设当年产值为100c语言答案,C语言程序设计试题题库含答案zdui汇总.doc

    C语言程序设计试题题库含答案zdui汇总 班号姓名 C语言 试 题 题号一二三四五六七八九十总分附加题分数 一.选择题:(20分,每题2分) 1.以下不正确的C语言标识符是( ). A. ABC B. ...

  8. c语言程序设计课程技能点,C语言程序设计课程标准.doc

    徽商职业学院C语言程序设计课程标准 课程编码课程类别B适用专业软件.信管.自动化授课单位电子信息系学 分4学 时64编写执笔人王艳兵审定负责人编写日期2012.9.18审定日期一.课程概述 (一)课程 ...

  9. C语言 快速排序——qsort函数详解

    我们在使用冒泡排序法做题的时候,经常会遇到运算次数过多程序超时的情况,而且冒泡排序法只能对整形数组进行排序. 为了解决这些问题!就使用qsort函数吧! 目录 一.qsort函数使用方法 二.qsor ...

最新文章

  1. Python中单下划线开头的特性
  2. 百度交易中台之账房系统架构浅析
  3. tp 5 封装微信网页授权基础类库
  4. 03.elasticsearch_index操作
  5. 原来MySQl就是这样工作的
  6. 常用命令集合_Windows
  7. 泰勒级数 快速傅里叶变换(Fast Fourier Transfor FFT)
  8. 【JAVASCRIPT】如何不使用jquery函数和ajax框架实现ajax效果
  9. 材料的构成 —— 塑料
  10. mysql新建授权账号系列问题
  11. 第3次 实验 原码一位乘法实验
  12. 南方cass简码识别大全_南方CASS简码成图的方法
  13. ps手机计算机图标教程,ps制作手机图标的方法
  14. Thymeleaf中的ajax传参实例
  15. 地图可视化绘制 | R-tanaka/metR包 绘制3D阴影效果地图
  16. dell服务器新bois系统设置u盘启动,dell新版biosU盘启动顺序设置教程
  17. 仿淘宝购物车demo 增加和减少商品数量
  18. [Android Studio]开发APP应用出现软件程序打开闪退的排错
  19. mac上配置outlook2019 + qqmail
  20. 古文觀止卷七_原道_韓愈

热门文章

  1. 开始了大概三四天的Rails学习之路
  2. yourtour的几种链接
  3. ASP.NET 设计模式中依赖倒置原则
  4. 基于DirectX的游戏引擎-Xworld
  5. Diango REST framework 视图继承图
  6. 洛谷P4382 劈配
  7. 常见面试题 - URL 解析
  8. dockone上2015.08 Docker有价值文章
  9. 数据库中文乱码问题的解决
  10. VS2010Web默认的浏览器设置和VS里调试JavaScript代码的设置