C语言快速排序函数------qsort();
#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();的更多相关文章
- C语言“快速排序”函数写法
代码是:C语言中快速排的写法,要加入头文件 <stdlib.h> qsort(数组名, 长度, 数据类型大小,比较算子 ): #include <stdio.h> #inc ...
- C语言中的快速排序函数
C库中有自带的快排函数 qsort() ; 它的函数原型为: void qsort(void * , size_t ,size_t size , int (__cdecl *)(const void ...
- C语言pow函数编写
C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...
- C语言-自定义函数
C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...
- C语言printf()函数:格式化输出函数
C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为: int printf( char ...
- C语言的函数
"函数"在英文的翻译是"function",无论在自然科学还是计算机科学都是这个词,而"function"的本意是"功能" ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- Go语言示例-函数返回多个值
Go语言中函数可以返回多个值,这和其它编程语言有很大的不同.对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性. 简单如交换两个数值的例子: package mai ...
- 【学习笔记】【C语言】函数
一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...
随机推荐
- 树上对抗搜索 - 树形dp
Alice and Bob are going on a trip. Alice is a lazy girl who wants to minimize the total travelling d ...
- django count(*) 慢查询优化
分页显示是web开发常见需求,随着表数据增加,200万以上时,翻页越到后面越慢,这个时候慢查询成为一个痛点,关于count(*)慢的原因,简单说会进行全表扫描,再排序,导致查询变慢.这里介绍postg ...
- 「 深入浅出 」集合Map
系列文章: 「 深入浅出 」java集合Collection和Map 「 深入浅出 」集合List 「 深入浅出 」集合Set 前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍M ...
- Windos下的一些命令集合
由于在CMD模式下(也就是命令行)有较多的有用的命令.以下是自己平时所记录下来的以帮助平时的任务. 1. 显示计算机的操作系统 wmic os get osarchitecture /value
- 2016 CCPC-Final-Wash(优先队列+贪心)
Wash Mr.Panda is about to engage in his favourite activity doing laundry! He’s brought ...
- Linux 常用工具openssh之ssh-agent
前言 ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序.ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中. ...
- Docker基础内容之命令大全
run(未补全) 说明:创建一个新的容器并运行一个命令 语法如下: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 选项说明: -a stdin: 指定标准 ...
- Windows环境安装与配置RocketMQ
1.下载RocketMQ http://rocketmq.apache.org/release_notes/release-notes-4.3.0/ 2.解压下载的安装包rocketmq-all-4. ...
- 令牌桶算法实现API限流
令牌桶算法( Token Bucket )和 Leaky Bucket 效果一样但方向相反的算法,更加容易理解.随着时间流逝,系统会按恒定 1/QPS 时间间隔(如果 QPS=100 ,则间隔是 10 ...
- Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件
一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...