数组摆动排序:
就地排序数组,不需要额外数组,满足以下性质:
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);
}
}