0交换排序

来源:互联网 发布:erp系统属于数据库 编辑:程序博客网 时间:2024/06/07 02:04
import java.util.Arrays;public class SwapWithZeroSort {public static void main(String[] args) {int[] array={2,0,1};sort(array);System.out.println(Arrays.toString(array));}//0交换排序public static void sort(int[] array){if(array==null||array.length<=0){return;}for(int i=0;i<array.length;i++){if(array[i]!=i){//i所在位置的元素array[i]最终位置应该为array[i],将array[i]位置的元素与0交换swapWithZero(array,array[i]);//将i所在位置的元素与0交换swapWithZero(array,i);}}}private static void swapWithZero(int[] array, int i) {// TODO Auto-generated method stub//将i所在位置上的数字与0交换int zeroPos=-1;for(int k=0;k<array.length;k++){if(array[k]==0){zeroPos=k;}}swap(array, i, zeroPos);}private static void swap(int[] array, int i, int j) {// TODO Auto-generated method stubint temp=array[i];array[i]=array[j];array[j]=temp;}}

原创粉丝点击