示例为最后一个元素为分割的基准值,小于这个值的在左边,大于这个基准值的在右边

最后一个数是5,以5为判断基准!

#include<stdio.h>
#define MAX 10000int A[MAX],n;int mypartition(int left,int right)
{int x,i,j,t;x=A[right];//最后一个元素作为分割的基准i=left-1;for(j=left; j<right; j++){if(A[j]<x) //比基准值小的交换A[i]与A[j]{i++;t=A[i];A[i]=A[j];A[j]=t;}}t=A[i+1];A[i+1]=A[right];A[right]=t;//最后把基准值与A[i+1]交换即可return i+1;
}int main()
{int i,q;printf("输入数组的长度:");scanf("%d",&n);for(i=0; i<n; i++){scanf("%d",&A[i]);}q=mypartition(0,n-1);for(i=0; i<n; i++){if(i)printf(" ");if(i==q)printf("[");printf("%d",A[i]);if(i==q)printf("]");}printf("\n");return 0;
}

高级排序之分割法(以某数为基准分割)相关推荐

  1. 分割法和填补法_“聚合”法与“分割”法

    一门新的思维与实践的科学 "聚合"法是宗脉学中"宗脉"关系的根本原则,这是一门新的思维与实践的科学,它的研究角度和方法都不同于任何以往唯物主义与唯心主义学派. ...

  2. 高级排序之快速排序(分割与整合)

    在上一篇文章:高级排序之分割法中介绍分割法的基础上,做一个递归就是现在介绍的快速排序!快速排序的原理就是将数组以某个基准值进行分割,左边是小于这个基准值的数列,右边是大于这个基准值的数列,再通过递归, ...

  3. 四边形顶点坐标排序十字分割法

    有时候抠图等操作需要固定顺序的坐标点信息, 我习惯用 左上角开始,顺时针排列. 有时候我们拿到的坐标信息顺序不固定,甚至没有规律. 我用了大把时间捋出一点头绪,写了一个相当笨拙的代码. 期望有大神给出 ...

  4. java抢红包线段分割法_抢红包算法——线段分割法

    抢红包算法经常在面试的时候被问到,那么今天我就给大家分享一个比较常用容易理解的算法,线段分割法的实现. 算法思路: 线段分割法就是把红包总金额想象成一条线段,而每个人抢到的金额,则是这条主线段所拆分出 ...

  5. 【重温基础算法】内部排序之快速排序法

    内部排序之快速排序法 文章目录 内部排序之快速排序法 主要思想 过程演示 JAVA代码 算法分析 时间复杂度分析 最好时间复杂度 最坏时间复杂度 平均时间复杂度 空间复杂度 对冒泡排序的一种优化 主要 ...

  6. 数据结构之外部排序:归并排序法

    外部排序:归并排序法 思维导图: 外部归并排序的原理: 外部归并排序的性能: 归并排序法的优化: 思维导图: 外部归并排序的原理: 第一步: 第二步: 问题:内存缓存区大小固定,外存数据元素分块后仍然 ...

  7. java希尔排序_java_java高级排序之希尔排序,希尔排序对于多达几千个数据 - phpStudy...

    java高级排序之希尔排序 希尔排序对于多达几千个数据项的,中等大小规模的数组排序表现良好,希尔排序不像快速排序和其它时间复杂度为O(n*logn)的排序算法那么快,因此,对非常大的文件排序,它不是最 ...

  8. 选择排序法和冒泡排序法

    选择排序法和冒泡排序法 1.选择排序法(以从小到大排序为例) 算法思想: A.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 B.从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序 ...

  9. MySQL 所推荐的左右值法(毗邻目录法、预排序历遍法)

    毗邻目录法: 这种方法说白了就是子类,依赖父类,父类依赖爷爷类,爷爷类可以有多个儿子类,跟父类平级的类.一层一层的. 预排序历遍法: 这种算法比较高端,使用的是mysql官方推荐的左右算法. 使用场合 ...

最新文章

  1. Pandoc PDF 中文
  2. 每日一问 - 关于决策树算法
  3. Ecshop实现仿Taobao地区运费模板
  4. db2 order by 利用索引
  5. git常见的回退操作
  6. AI:2020年6月21日北京智源大会演讲分享之14:50-15:15穗志方教授《从语言到知识——构建语言智能的基石》
  7. java优先队列PriorityQueue修改队列内元素排序问题
  8. mysql下载备份数据库命令行,如何从MariaDB数据库备份和还原命令行
  9. http --- 路由器缓存与常见的状态码
  10. redis源码学习笔记目录
  11. win08跟linux,Win 8 PK Linux!八大优势助微软完胜
  12. 【机器学习实战】垃圾分类快速理解机器学习中的朴素贝叶斯(Naive Bayes)
  13. protobuf根据DebugString字串反解pb对象(及基于此的简单配置实现)
  14. javascript拾遗
  15. Android Studio 配置 NDK 开发编译环境
  16. 基于双向流固耦合的Fluent dynamic mesh 学习笔记
  17. First集和Follow集的求法
  18. 第一章概述-------第一节--1.1计算机网络在信息时代中的作用
  19. 八:微服务调用组件Dubbo
  20. ASP.NET_母版页嵌套母版页

热门文章

  1. ASP.NET Core 下的依赖注入(一)
  2. netty源码解解析(4.0)-5 线程模型-EventExecutorGroup框架
  3. 三中好用的数组去重方式
  4. 洛谷P2073 送花 [2017年6月计划 线段树01]
  5. 理解基本包装类型Number,String,Boolean
  6. 清北学堂模拟赛day7 错排问题
  7. 发短信的简单实现——C#版
  8. Js 之 递归,闭包
  9. inno setup读取XML文件
  10. C# 调用Dll中非托管C++代码时,函数参数的类型对照