本帖最后由 蔡陶军 于 2013-4-11 14:47 编辑
- class SelectSortDemo88 {
- public static void main(String[] args) {
- int[] arr = {5,2,6,4,7,3,9,1};
- selectSort(arr);
- printArray(arr);
- }
- public static void selectSort(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(arr[i]<arr[j]) {
- swap(i,j,arr);
- }
- }
- }
- }
- public static void swap(int a,int b,int[] arr) {
- arr[a] = arr[a]^arr[b];
- arr[b] = arr[a]^arr[b];
- arr[a] = arr[a]^arr[b];
- }
- public static void printArray(int[] arr) {
- System.out.print("[");
- int count = 0;
- for(int a:arr) {
- if(count!=arr.length-1) {
- System.out.print(a+",");
- count++;
- }else {
- System.out.println(a+"]");
- }
- }
- }
- }
复制代码 我发现怎么函数传参的时候 swap这个函数 我调换i和j的位置,但是结果还是一样?而我的逻辑判断是结果会受i和j的位置变化而发生改变的,求解,大侠们
|
|