####题目
数组的partition 调整
####java代码

package com.lizhouwei.chapter8;

/**
* @Description: 数组的partition 调整
* @Author: lizhouwei
* @CreateDate: 2018/5/9 21:24
* @Modify by:
* @ModifyDate:
*/
public class Chapter8_23 {
public void leftUnique(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
int left = 0;
int right = 1;
while (right < arr.length) {
if (arr[left] != arr[right++]) {
swap(arr, ++left, right - 1);
}
}
} public void sort(int[] arr) {
int left = -1;
int index = 0;
int right = arr.length - 1;
while (index < right) {
if (arr[index] == 0) {
swap(arr, index++, ++left);
} else if (arr[index] == 2) {
swap(arr, index, right--);
} else {
index++;
}
}
} public void swap(int[] arr, int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
} //测试
public static void main(String[] args) {
Chapter8_23 chapter = new Chapter8_23();
int[] arr = {1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8, 8, 9};
chapter.leftUnique(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
int[] arr1 = {1, 2, 0, 0, 1, 2, 2, 1, 0, 0};
chapter.sort(arr1);
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i] + " ");
}
} }

####结果

最新文章

  1. sql group by 理解
  2. Enter password for default keyring to unlock
  3. mysql中slow query log慢日志查询分析
  4. 502 Bad Gateway什么意思
  5. centos -bash-4.1$ 不显示用户名路径
  6. php对图片反色处理
  7. Android选项卡TabHost方式实现
  8. php5.3 不支持 session_register() 此函数已启用的解决方法
  9. UVa1628 UVaLive5847 Pizza Delivery
  10. 排序算法 Java实现版
  11. jquery全选框的实现
  12. springMvc项目的搭建,暂时没有整合持久层框架(java Config配置对比xml配置)
  13. byte[] Base64 Stream 之间相互转换
  14. 多米诺骨牌放置问题(状压DP)
  15. Understanding ROS Services and Parameters
  16. 【代码笔记】Web-CSS-CSS background背景
  17. springboot自动生成mysql的DAO层代码
  18. Java构造器与构建器的使用
  19. DRF框架之视图方法的几个封装好的模块介绍(第三天)
  20. Android 简历 怎么写? 月薪10K,20K+, 怎么拿到面试?

热门文章

  1. Form元素示例
  2. django发送邮件配置
  3. Maven项目如何将自定义文件添加到META-INF目录下
  4. Java中对象、对象引用、堆、栈、值传递以及引用传递的详解
  5. linux 文件删除恢复extundelete
  6. 【SQL】SQL Server中存储过程的调试方法
  7. 【Python】分析文本split()
  8. Python Flask 在Sina App Engine (SAE)上安家
  9. syslog,rsyslog and syslog-ng
  10. Linux远程无密码登陆并远程执行脚本