class a4 { public static void main(string[] args) { int [] arr = {1, 8, 3, 6, 5, 2}; printnumber(arr); sort2(arr); printnumber(arr); } public static void swap(int[] arr, int a, int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } public static void sort2(int[] arr) { for(int i=0; i<arr.length-1; i++) { int num = arr[i]; int index = i; for(int j=i+1; j<arr.length; j++) { if(num>arr[j]) { num = arr[j]; index = j; } } if(i!=index) swap(arr, num, arr[i]); } } public static void printnumber(int [] arr) { for(int i=0; i<arr.length; i++) { system.out.print(arr[i]+" "); } system.out.println(); } }
将下标对应的值的交换----改为下标的交换
数组的选择排序成功,为什么会提示数组索引访问越界?
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论