#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. C# HttpWebRequest传递参数多种方式混合使用

    在做CS调用第三方接口的时候遇到了这样的一个问题,通过PSOTman调试需要分别在parmas.Headers.Body里面同时传递参数.在网上查询了很多资料,以此来记录一下开发脱坑历程. POSTm ...

  2. Go 每日一库之 viper

    简介 上一篇文章介绍 cobra 的时候提到了 viper,今天我们就来介绍一下这个库. viper 是一个配置解决方案,拥有丰富的特性: 支持 JSON/TOML/YAML/HCL/envfile/ ...

  3. 一起来学习XPATH,来看看除了正则表达式我们还能怎么抓取数据

    参考学习的网站链接http://www.w3school.com.cn/xpath/xpath_intro.asp 首先理清楚一些常识 以此为例 <?xml version="1.0& ...

  4. KVM管理工具 WebVirtMgr

    WEB管理工具 WebVirtMgr WebVirtMgr是一个基于libvirt的Web界面,用于管理虚拟机.它允许您创建和配置新域,并调整域的资源分配.VNC查看器为来宾域提供完整的图形控制台.K ...

  5. session跨域丢失问题

    配置一个 filter package com.psm.filter; import javax.servlet.*; import javax.servlet.http.HttpServletReq ...

  6. widows 10 下解决在npm install python 环境报错的问题

    1.使用管理员打开cmd 2.安装 node-gyp; gyp是一种根据c++源代码编译的工具,node-gyp就是为node编译c++扩展的时候使用的编译工具. npm install -g nod ...

  7. javascript的对象、类和方法

    1.类和对象的概念: 1.所有的事物都是一个对象,而类就是具有相同属性和行为方法的事物的集合 2.在JavaScript中建立对象的目的就是将所有的具有相同属性的行为的代码整合到一起,方便使用者的管理 ...

  8. Linux下的openssh详解

    前言 SSH(Secure Shell)是一个提供数据通信安全.远程登录.远程指令执行等功能的安全网络协议,由芬兰赫尔辛基大学研究员Tatu Ylönen,于1995年提出,其目的是用于替代非安全的T ...

  9. Official VirusTotal Plugin for IDA Pro 7

    Official VirusTotal Plugin for IDA Pro 7 该插件在IDA Pro右键菜单(反汇编和字符串窗口)中添加了一个新的" VirusTotal"条目 ...

  10. pyhton3之进程

    一 什么是进程 首先要了解什么是进程,程序是写出来没有被执行的代码,它是没有生命的实体,只有处理器赋予程序生命时,及程序被操作系统运行起来,他是一个活动的实体,我们称其为进程. 进程是计算机中的程序关 ...