#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h> typedef struct in {
int x;
int y;
}In; typedef struct char_ {
char ch[];
}Char_; //对字符串排序函数
int ptr_7(const void *a, const void *b) {
return strcmp((*(Char_ *)a).ch, (*(Char_ *)b).ch);
} //结构体一级排序函数
int ptr_5(const void *a, const void *b) {
return (*(In *)a).x>(*(In *)b).x ? : -;
} //结构体二级排序
int ptr_6(const void *a, const void *b) {
In *c = (In *)a;
In *d = (In *)b;
if (c->x != d->x)return c->x - d->x;
else
return c->y - d->y;
} //整数排序比较函数
int ptr_1(const void *a, const void *b) {
return *(int *)a - *(int *)b;
} //double型排序比较函数
int ptr_2(const void *a, const void *b) {
return *(double *)a>*(double *)b ? : -;
}
//char型排序比较函数
int ptr_3(const void *a, const void *b) {
return *(char *)a - *(char *)b;
} //对二维数组排序
int ptr_4(const void *a, const void *b) {
return ((int *)a)[] - ((int *)b)[];
} int main() {
int i, j, k, l;
int a[] = { ,,,, };
double b[] = { 3.21,4.35,5.34,86.3,12.4 };
char c[] = { 'g','t','a','v','p' };
int d[][] = { { , },{ , },{ , } };
qsort(a, , sizeof(a[]), ptr_1);
qsort(b, , sizeof(b[]), ptr_2);
qsort(c, , sizeof(c[]), ptr_3);
qsort(d, , sizeof(int) * , ptr_4);
for (i = ; i<; i++) {
printf("%d ", a[i]);
}
printf("\n");
for (i = ; i<; i++) {
printf("%lf", b[i]);
}
printf("\n");
for (i = ; i<; i++) {
printf("%c", c[i]);
}
for (i = ; i<; i++) {
for (j = ; j<; j++) {
printf("%d", d[i][j]);
}
printf("\n"); } In data[];
printf("输入结构体值");
for (i = ; i<; i++) {
scanf("%d%d", &data[i].x, &data[i].y);
} qsort(data, , sizeof(data[]), ptr_5);
for (i = ; i<; i++) {
printf("x=%d,y=%d\n", data[i].x, data[i].y);
}
printf("----------------------------");
qsort(data, , sizeof(data[]), ptr_6);
for (i = ; i<; i++) {
printf("x=%d,y=%d\n", data[i].x, data[i].y);
} Char_ ch[];
for (i = ; i<; i++) {
scanf("%s", ch[i].ch);
}
qsort(ch, , sizeof(ch[]), ptr_7);
for (i = ; i<; i++) {
printf("%s\n", ch[i].ch);
}
getch();
return ;
}

C语言快速排序函数------qsort();的更多相关文章

  1. C语言“快速排序”函数写法

    代码是:C语言中快速排的写法,要加入头文件   <stdlib.h> qsort(数组名, 长度, 数据类型大小,比较算子 ): #include <stdio.h> #inc ...

  2. C语言中的快速排序函数

    C库中有自带的快排函数 qsort() ; 它的函数原型为: void qsort(void * , size_t ,size_t size , int (__cdecl *)(const  void ...

  3. C语言pow函数编写

    C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...

  4. C语言-自定义函数

    C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...

  5. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  6. C语言的函数

    "函数"在英文的翻译是"function",无论在自然科学还是计算机科学都是这个词,而"function"的本意是"功能" ...

  7. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  8. Go语言示例-函数返回多个值

    Go语言中函数可以返回多个值,这和其它编程语言有很大的不同.对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性. 简单如交换两个数值的例子: package mai ...

  9. 【学习笔记】【C语言】函数

    一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...

随机推荐

  1. React16源码解读:揭秘ReactDOM.render

    引言 在上一篇文章中我们通过create-react-app脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中React.Component和React.PureComponent背后的实现 ...

  2. echarts 使用时,常见配置

    1.隐藏x轴,y轴,网格线 "yAxis": [ { //就是一月份这个显示为一个线段,而不是数轴那种一个点点 "show" : true, "bou ...

  3. Vs中提交了代码但是不想推送到Git中

    1:首先就是我fix code 是要提交上去的,所以我就开始提交呢,但是,一看提交后,还没有推送到git就是现在下面的这个状态 上面这个是==> 这是先新增的文件,第一步.但是第一步就差推送了, ...

  4. Adobe Acrobat DC 安装

    Adobe Acrobat DC 制作pdf模板 下载:http://www.downza.cn/soft/20562.html 安装出错解决: 可以将C:\Program Files (x86)\C ...

  5. Windows10内嵌Ubuntu子系统初始化设置

    第一次启动 重启ubuntu Since Windows 10 version 1803, closing all WSL terminal windows won't kill background ...

  6. .net Core发布至IIS完全手册带各种踩坑

    服务器环境配置 和各位大爷报告一下我的服务器环境 : Windows Server 2012 iis 8 小插曲开始: 运维大哥在昨天给了我一台新的server 0环境开始搭建 . 并且没有安装任何的 ...

  7. 使用Razor表达式 使用条件语句 来自 精通ASP-NET-MVC-5-弗瑞曼

  8. 浅谈JS异步(asychrouous)

    一.概念 (1)asychronous 异步 是JS这种单线程语言解决多任务的一种方法,将耗时的任务(io)设定为异步工作,先交给浏览器负责相关功能的线程来实现耗时的部分工作,按顺序放入任务队列中,等 ...

  9. Intellij IDEA中将打开的代码与类文件进行关联

    Intellij IDEA中在导航栏打开多个类时,如何快速定位到某个类所在的目录? 经过研究,可以通过以下设置完成: 设置完成后,点击导航栏中的类,左边的Project导航就可以快速定位到该类所在的目 ...

  10. Kafka系列1:Kafka概况

    Kafka系列1:Kafka概况 Kafka是当前分布式系统中最流行的消息中间件之一,凭借着其高吞吐量的设计,在日志收集系统和消息系统的应用场景中深得开发者喜爱.本篇就聊聊Kafka相关的一些知识点. ...