数组中的数字按某值划分为左边小、中间相等、右边大的形式
时间:2021-08-11
本文章向大家介绍数组中的数字按某值划分为左边小、中间相等、右边大的形式,主要包括数组中的数字按某值划分为左边小、中间相等、右边大的形式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目:给一个数组arr=[2,7,9,3,1,8,5,2,5] 给定数字5,把数组中的数按照<5,=5,>5进行排列 --->arr=[2,2,3,1, 5,5, 8,9,7]
代码:
package Algorithms; /** * @author : zhang * @version : 1.0 * @date : Create in 2021/8/11 * @description : */ public class Arr_SmallerEqualBigger { public static void main(String[] args) { int[] arr = { 2,7,9,3,1,8,5,2,5}; arrPartition(arr,4); //2 2 1 3 8 5 9 5 7 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } public static void arrPartition(int[] arr,int pivot){ int small =0; //记录 <pivot部分的后一个数的下标) int big = arr.length-1; //记录 >pivot部分的前一个下标 int index = 0; //控制数组下标前移 while(index!= big){ if(arr[index]<pivot){ swap(arr,small++,index++); }else if(arr[index]==pivot){ index++; }else{ swap(arr,big--,index); } } } public static void swap(int[] arr,int a,int b){ int temp = arr[a]; arr[a]=arr[b]; arr[b]=temp; } }
图解:
原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/15127772.html
- 使用shell脚本查看数据库负载情况(第二篇)(r3笔记第92天)
- tensorflow LSTM + CTC实现端到端OCR
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(七)图片上传功能
- 黑客比程序员牛在哪?
- oracle工具集初探(r4笔记第8天)
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(二)Log4j讲解与整合
- 京东JData算法大赛-高潜用户购买意向预测(github源码)
- 巧用linux命令做图片下载器(r4笔记第7天)
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(四)单元测试实例
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(五)结合MockMvc进行服务端的单元测试
- 关于order by中的数据排序(r4笔记第6天)
- 深度学习CTPN+CRNN模型实现图片内文字的定位与识别(OCR)
- Markdown语法讲解及MWeb使用教程
- 通过Linu命令实现屏幕录制和回放(r4笔记第5天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法