首页 > 代码库 > 数组拆分
数组拆分
温习并学习下算法,记录设计地点滴。
数组拆分是将一个无序数组,拆分成两个子数组,子数组A地元素全部比数组元素小,子数组B地元素全部比数组元素大。
代码如下:
package test; import java.util.Arrays; public class PartitionPolicy { public void part(int[] array, int key) { // swap int temp = array[key]; array[key] = array[array.length-1]; array[array.length-1] = temp; int j=-1; for (int i=0; i<array.length; i++) { if (array[i] < array[key]) { j++; temp = array[i]; array[i] = array[j]; array[j] = temp; } } temp = array[j+1]; array[j+1] = array[array.length-1]; array[array.length-1] = temp; } public static void main(String[] args) { PartitionPolicy p = new PartitionPolicy(); int[] toSortArr = {4,2,9,77,6,33,100,1,2,56,20}; p.part(toSortArr, 5); System.out.println(Arrays.toString(toSortArr)); } }
运行结果如下:
[4, 2, 9, 6, 1, 2, 33, 77, 20, 56, 100]
数组拆分
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。