关于这种稳定的快排的思路,请看我之前的这篇文章:
《对数器&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. StackOverflow上面 7个最好的Java答案
  2. mp4转gif_mp4转gif怎么转?一键转码的技巧要知道
  3. java自学语法_Java自学笔记(一):基础知识
  4. NYOJ 5177 疯牛(最大化最小值 二分搜索)
  5. 疫情期间程序员大学生居家远程办公神器--ToDesk
  6. 您是哪一种类型的老板?
  7. C程序-将华氏温度转换为摄氏和开氏
  8. word转化为pdf android,如何将Word转化为PDF?
  9. Java进阶(八)Stream、异常体系
  10. hbuilderx升级3.6.5版本后运行到手机端同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示
  11. 如何考虑SEO优化?
  12. 简述 Spring Bean的生命周期
  13. WSL挂载移动硬盘U盘
  14. Jenkins系列之——第三章 Jenkins编译的第一个项目
  15. python中datetime与str的互相转化
  16. java 静态区在jvm哪里,JDKJREJVM这三者的联系与区别///java跨平台///堆栈常量区静态区...
  17. [PTA]习题11-1 输出月份英文名
  18. 多线程在PyQt5中的应用记录
  19. iOS备忘录之自定义代码块
  20. 李巧奴拜张顺为叔叔 水浒

热门文章

  1. soul被下架,社交圈的一股清流也变了味?
  2. criteo 点击率预估_预处理criteo数据集以预测广告的点击率
  3. 免授权采集海天注塑机采集伊之密注塑机监控住友注塑机参数采集
  4. php面试题狼兔,面试题总结 - 疯狂的兔子的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 台式电脑如何修复计算机,大神告诉你电脑不断重启如何修复
  6. 西门子200系列PLC通信编程指令讲解
  7. 四阶段课堂总结解决问题
  8. NPOI导出Excel 65536限制
  9. 综合里dont_use/dont_touch/ideal_network的理解
  10. 2018年博客之星评选,No 138号“铭毅天下”需要您宝贵的一票,万分感谢!