关于这种稳定的快排的思路,请看我之前的这篇文章:
《对数器&Python实现稳定快排》

下面是实现代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int split(char* str, int dataList[20], const char* separator)
{int n=0;char* ret;ret = strtok(str,separator);while(ret!=NULL){dataList[n++] = atoi(ret);ret = strtok(NULL, separator);}return n;
}void quicklySort(int num, int* array)
{if(num==1||num==0){}else if(num==2){if(array[1]<array[0]){array[0] = array[0]+array[1];array[1] = array[0]-array[1];array[0] = array[0]-array[1];}}else if(num>2){int flag=array[0],count=0;for(int i=1; i<num; i++){if(array[i] < flag){int temp_1;temp_1 = array[i];array[i] = array[count+1];array[count+1] = temp_1;count++;}if(array[i] >= flag){}}int temp_2;temp_2 = array[count];array[count] = array[0];array[0] = temp_2;quicklySort(count, array);quicklySort(num-1-count, &array[count+1]);}}int main()
{int num, array[20];char data[100];const char* separator = " ";printf("input number list separated by spaces:");gets(data);num = split(data, array, separator);//对array[]进行快速排序,本文采用的是具有稳定性的改进快排quicklySort(num,array); for(int i=0; i<num; i++){printf("%d ",array[i]);} return 0;
}

运行效果:

分享就到这里,感谢观看。

“写程序,不比其它的学科,动手才是硬道理。” ——绝影Hamber

C语言实现稳定的快排相关推荐

  1. 快排 c语言,c语言的库函数之快排

    之前都是手写的快排 但是毕竟写太多快排了 是时候用一波他自己自带的快排了说实话要不是之前用了一次 stl 感觉封装好了的东西实在是太好用了 不禁又回想起当初用python 写的复杂的数据结构 简直不要 ...

  2. c语言程序快排,C语言快排

    C语言使用快排的方式有两种,1.直接用库函数stdlib.h里的qsort函数 2.自己编写快排代码(第一种方便,第二种较为自由) qsort 的函数原型是: void qsort(void*base ...

  3. [剑指offer]JT29---最小的K个数(靓仔靓女,快进来学习快排讷!)

    剑指offer第二十九题 题目如下 思路与代码 sort()函数解千愁,面试官不愿回眸 十年磨一剑,快排永争先(手写快排) 题目如下 思路与代码 sort()函数解千愁,面试官不愿回眸 很简单,就是排 ...

  4. C语言快排函数qsort()

    原本以为C语言中的快排函数都要靠自己去实现,今天才知道,原来qsort就是C语言中的快排函数,包含在stdlib.h头文件中,函数一共有四个参数,没有返回值. //int (*cmp)(const v ...

  5. C语言排序算法 选择排序 插入排序 快速排序 qsort实现快排 堆排序

    常见排序算法 选择排序 选择排序(Selection sort)是一种简单直观的排序算法. 它的工作原理如下. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素 ...

  6. C语言手写快排算法,两个值时也可以使用哦!

    最近刷leetcode经常碰到排序问题,大家都知道排序算法中快速排序是效率很高的算法,因此快排写法是必须要掌握的哦! 解题思路 利用快排对数组进行排序. 快排:冒泡排序的改良. 快排目标:将数组从大到 ...

  7. c语言寻找大富翁,PTA 7-38 寻找大富翁(25 分)解法(C/C++)暴力快排/精准堆排 解法...

    7-38 寻找大富翁 (25分) 胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人.假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁. 输入格式: 输入首 ...

  8. c语言 快排,C语言 快排函数

    C语言中有快排的函数,可以直接使用,见下面调用格式: qsort包含在头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序.排序之后的结果仍然放在原数组中.使用qsort函数必须自己写 ...

  9. c语言中快排函数,c语言快排函数详解

    c语言快排函数详解 int cmp(const void *a, const void *b) 返回正数就是说 cmp 传入参数第一个要放在第二个后面, 负数就是传入参数第一个要放第二个前面, 如果是 ...

最新文章

  1. 相关计算机专业的英语文献,英文文献及翻译计算机专业.doc
  2. 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)
  3. [luogu5004]专心OI - 跳房子【矩阵加速+动态规划】
  4. linux更换主板后无法启动网卡
  5. 聊聊spring cloud gateway的XForwardedHeadersFilter
  6. 英文科技写作 · 经验分享 · 讨论合集
  7. 在创业公司工作不划算了!
  8. Perl 简单读写XML 文件
  9. Flask-Uploads文件上传的简单使用
  10. (转)Atom安装插件被墙,解决方案:给apm设置中国国内镜像
  11. Python分词、情感分析工具SnowNLP使用方法
  12. 中文版Excel 2007公式与函数应用宝典
  13. 网络战武器——震网(Stuxnet)病毒
  14. C4D新建立方体对象不显示?
  15. react 工程启动运行时,报错Content not from webpack is served from ...
  16. 国际:十种学习新技术的方法
  17. Netty空闲检测之写空闲
  18. OpenCV图像的基本操作
  19. 各种注释-注释多行与取消多行注释快捷键
  20. 拼多多商品详情,产品竞价,关键词搜索接口

热门文章

  1. 安卓端身份证识别与云端服务器识别
  2. 要求用 100 元买 100 只鸡,其中公鸡五元一只,母鸡三元一只,小鸡 1 元三只,规定每种至少买一 只
  3. C++递归实现栈逆序
  4. 实现一个Android输入法
  5. Flutter路由管理和页面参数的传递(获取返回)
  6. Oracle 数据库12c 新特性总结
  7. 定理(Theorem)、引理(Lemma)、推论(Corollary)的定义及LaTeX用法
  8. 杉车网数据报告:2019年,新能源汽车渐入佳境
  9. 汽车外饰胶市场现状及未来发展趋势
  10. 36线性映射03——线性空间的同构、同构的性质、线性同构