数组摆动排序:
就地排序数组,不需要额外数组,满足以下性质:
nums[0]<=nums[1]>=nums[2]<=nums[3]...
package test; import java.util.Arrays; public class ArraySort { public static void main(String[] args) { int[] nums = {3,5,2,1,6,4}; System.out.println(new ArraySort().sortArray(nums)); } public String sortArray(int[] nums) { for(int i=0;i<nums.length;i=i+2) { int minIndex=i; int maxIndex=i; int min=nums[i]; int max = nums[i]; for(int j=i;j<nums.length;j++) { if(nums[j]<min) { min = nums[j]; minIndex=j; } if(nums[j]>max) { max = nums[j]; maxIndex=j; } } int tempMin,tempMax; tempMin=nums[i]; tempMax=nums[i+1]; nums[i] = min; nums[i+1]=max; nums[minIndex] = tempMin; nums[maxIndex] = tempMax; } return Arrays.toString(nums); } }