数组排序的一段代码。比较后。转换位置。有点弄不懂。
这段代码中。
把//注释中3个位置顺序不同先后。输出结果都不相同。。。求解在内存中变量定义以及变化的原理。比如先定义1。在定义2。或者先定义2,在定义1的区别。- class Shuzu4//(排序-选择排序)
- {
- public static void main(String[] args)
- {
- int [] arr={1,4,3,2,6,5};
- print(arr);
- paixu(arr);
- print(arr);
-
- }
- public static void paixu(int[] arr)
- {
- for (int x=0;x<arr.length-1 ;x++ )
- {
- for (int y=x+1;y<arr.length ;y++ )
- {
- if (arr[x]>arr[y])
- {
- [color=Red]int temp=arr[x];//1
-
- arr[y]=temp;//2
- arr[x]=arr[y];//3[/color]
- }
- }
- }
-
-
- }
- public static void print(int[] arr)
- {
- System.out.print("[");
- for (int x=0;x<arr.length ;x++ )
- {
- if (x!=arr.length-1)
- {
- System.out.print(arr[x]+",");
- }
- else
- System.out.print(arr[x]);
- }
- System.out.println("]");
-
- }
- }
复制代码 |