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语言编写了一 ...
随机推荐
- Java同步与异步
一.关键字: thread(线程).thread-safe(线程安全).intercurrent(并发的) synchronized(同步的).asynchronized(异步的). volatile ...
- Linux初始化Git环境
第一步:设置Git全局用户名和邮箱 git config --global user.name "你的用户名" git config --global user.email &qu ...
- transient简介
当一个对象实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的 ...
- FreeRTOS低功耗模式
在系统或电源复位以后,微控制器处于运行状态.当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时,用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳 ...
- PageHelper踩坑
刚开始死活分不了页,只显示默认的前 10条.搞了一下午,打了无数个断点都试不出毛病在哪. 下班又死磕到快8点,就在我已经绝望的时候,最后终于试出来了,把page.getTotal()给传到前端就好了. ...
- lisp学习总结(一)
lisp太简单 lisp核心太简单了只有几个简单的逻辑定理,简单到你会认为他啥事都做不了. lisp语法太简单了,只有符号,参数,以及括号,组成一种万能的表达式. 由于上述lisp的简单,所以对于初学 ...
- JVM内存布局及GC知识
一.JVM运行时内存布局 按java 8虚拟机规范的原始表达:(jvm)Run-Time Data Areas, 暂时翻译为"jvm运行时内存布局". 从概念上大致分为6个(逻辑) ...
- svn和 android adt的 eclipse插件更新地址
下边这两个插件的更新地址是每次安装android开发环境时都能用到的,为了方便在这里记录一下. android adt: http://dl-ssl.google.com/android/eclips ...
- Docker获取镜像报错docker: Error response from daemon
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled ...
- excle 写入数据库
龙龙博客:https://www.cnblogs.com/meilong/p/cao-zuoexcel-mo-kuaiopenpyxl.html 1 安装 pip install openpyxl 如 ...