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语言编写了一 ...
随机推荐
- 点分治 (等级排) codeforces 321C
Now Fox Ciel becomes a commander of Tree Land. Tree Land, like its name said, has n cities connected ...
- 程序员Java架构师多线程面试题和回答解析
当我们在Java架构师面试的过程中常见的多线程和并发方面的问题肯定是必不可少的一部分.那么在面试之前我们更应该多准备一些关于多线程方面的问题. 面试官只是想确信面试者有足够的Java线程与并发方面的知 ...
- Qt Installer Framework翻译(3-0)
终端用户使用流程 离线安装和在线安装对终端用户来说是相似的.安装程序将你的应用程序和维护工具一起打包,该工具由包管理器,更新程序和卸载程序组成.用户可以使用维护工具来添加,更新和删除组件.维护工具连接 ...
- webpack构建工具初始化并运行简单的demo
webpack官网:https://webpack.js.org/ webpack是构建工具 安装webpack的前提:node,npm要安装 初始化项目 首先是初始化项目,创建一个文件夹,并且进入文 ...
- 第二阶段冲刺个人任务——five
今日任务: 合并程序(统计团队博客). 昨日成果: 优化统计团队博客结果界面的显示.
- octave在win上和linux上配置syms
octave是类似matlab的一个科学计算工具集.需要用到积分.微分.求导的时候,需要连接python3的sympy. windows上先安装好python3,然后pip安装Sympy.具体过程: ...
- qt中的拖拽及其使用技巧
关于qt中的拖放操作,首先可以看这篇官方文档:http://doc.qt.io/qt-5.5/dnd.html 一.QDrag 首先是创建QDrag,可以在mousePressEvent或者mouse ...
- Java的String类常用方法
一.构造函数 String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting or ...
- Python单元测试unittest测试框架
本文的主题是自动化测试框架的实现,在实现之前,先了解一下关于unittest模块的相关知识: Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回 ...
- Web自动化测试项目(五)测试结果通知
一.邮件通知 使用第三方邮件发送库yagmail github地址:https://github.com/kootenpv/yagmail 安装 pip3 install yagmail demo.p ...