1.以下代码是在书上看到的,加上自己的理解。

#include<stdio.h>
int a[101];
void quictsort(int left,int right)
{
int i,j,t,temp;
if(left>=right)//极为重要,判断退出函数的主要条件        return;
i=left;    j=right;
temp=a[left];//确定最左边一个数为标准数,
while(i!=j)//两个数不相等才能进行比较,若相等既说明已经两边数已经比完退出循环,将标准数归位
{
while(a[j]>=temp&&i<j)       j--;
while(a[i]<=temp&&i<j)       i++;
if(i<=j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[left]=a[i];//标准数归位
a[i]=temp;
quictsort(left,i-1);//对半分,将作半部分排序
quictsort(i+1,right);}int main(void)
{   int n,i;
scanf("%d",&n);for(i=1;i<=n;i++){
scanf("%d",&a[i]);
}   quictsort(1,n); for(i=1;i<=n;i++){
printf("%d\t",a[i]);
}
}

快排多敲个几遍就可以理解了

C语言---快速排序相关推荐

  1. c语言快速排序代码不用函数,C语言 快速排序函数

    C语言 快速排序函数用法 #include #include #include struct student { int id; char name[12]; char sex; }; int com ...

  2. C语言快速排序算法及三种优化方式

    C语言快速排序算法及三种优化方式 C语言快速排序算法及三种优化方式 原理 快速排序复杂度分析 1 时间复杂度 2 空间复杂度 快速排序代码实现 1 普通快速排序 2 快速排序优化1-三数取中优化不必要 ...

  3. C语言快速排序--qsort函数

    C语言快速排序–qsort函数 一.什么是qsort函数 qsort函数是C语言编译器函数库自带的快速排序函数. 其包含在#include<stdlib.h>头文件里面,所以在使用的时候需 ...

  4. C语言 快速排序函数

    C语言 快速排序函数用法 #include <stdio.h> #include <stdlib.h> #include <string.h> struct stu ...

  5. c语言快速排序案例,什么是快速排序?C语言数组快速排序例子

    快速排序(Quick Sort)是一种有效的排序算法.虽然算法在最坏的情况下运行时间为O(n^2),但由于平均运行时间为O(nlogn),并且在内存使用.程序实现复杂性上表现优秀,尤其是对快速排序算法 ...

  6. 二分查找算法举例说明C语言,C语言快速排序与二分查找算法示例

    本文实例讲述了C语言二分排序与查找算法.分享给大家供大家参考,具体如下: 题目:首先产生随机数,再进行快速排序,再进行二分查找. 实现代码: #include #include #include vo ...

  7. c语言快速排序_Damp;C思想-快速排序算法

    只能解决一种问题的算法,用处必然是有限的.所以今天介绍一种解决问题的思路,一个可以让我们使用的工具.Divide and Conquer 分而治之 先来说明一下D&C的工作原理: (1) 找出 ...

  8. c语言对随机数进行快速排序,C语言快速排序与二分查找算法示例

    本文实例讲述了C语言二分排序与查找算法.分享给大家供大家参考,具体如下: 题目:首先产生随机数,再进行快速排序,再进行二分查找. 实现代码: #include #include #include vo ...

  9. C语言快速排序-qsort函数

    目录 一.qsort简介 二.qsort详解 1)函数原型 2)快速排序源码 三.使用qsort进行排序 目录 一.qsort简介 二.qsort详解 1)函数原型 2)快速排序源码 三.使用qsor ...

  10. 怎么样才能做到对多种数据类型排序?C语言快速排序——qsort函数及其模拟实现

    ⭐️前面的话⭐️ 大家好!对于排序有许多中方法,比如冒泡排序,选择排序,希尔排序,插入排序,堆排序等等,但是怎样能够使用一个函数能够对多个数据类型进行排序呢?无所不知的C语言开发者提供了一个qsort ...

最新文章

  1. python元素定位的八种方法_selenium webdriver基于Python系列之八种元素定位方法
  2. LeetCode: 103. Binary Tree Zigzag Level Order Traversal
  3. vivo解bl锁_黔隆科技刷机教程酷派B770S忘记密码刷机解锁降级救砖解屏幕锁账户锁教程...
  4. python 内置递归
  5. web服务器 http请求返回 不同返回码的 对应 语意
  6. 支撑性服务 自动化能力
  7. 最强CNN语音识别算法开源了:词错率5%,训练超快,Facebook出品
  8. php 模拟登陆(不带验证码)采集数据
  9. 李刚的《疯狂Java讲义》
  10. android 随音乐跳动,随心音乐,让心跟着跳动起来
  11. IDEA中Javaweb项目图片加载不出来解决方案
  12. 1、RPC框架解析:开篇-什么是RPC?
  13. 功放IC音频芯片双声道D类3W ESOP-8封装
  14. Android Studio2.3正式版带SDK安装教程
  15. VirtuaNES 模拟器 玩FC小游戏 热血系列集合
  16. 听我瞎说--路指人仙
  17. 顾比倒数线——出入场管理的概述与解读
  18. Highcharts 3D圆环图
  19. 纳什博弈论的原理与应用
  20. 专访罗永浩:之后的对手就是苹果

热门文章

  1. Silverlight C# 游戏开发:L5 3D基本的灯光
  2. RPC Over HTTPS 访问Exchange 邮箱
  3. 微软认证学习资料大集合(软件+资料)
  4. 启用属性,索引和存储的用途是什么?
  5. Spring boot - 整合 Redis缓存(上)
  6. Jquery append 方法在ie8不兼容问题
  7. WebFlux响应式编程基础之 6 webflux客户端声明式restclient框架开发讲解
  8. sql面试题:分组查询和组函数的练习
  9. 大数据-HDFS 配置与使用
  10. 写给学弟们编程入门时必须掌握的HTTP基础知识总结