A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WElife 中级黑马   /  2015-7-12 08:06  /  310 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <p>class Array2 {</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>public static void main(String[] args) {</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>int [] arr = {1,3,5,2,6,8,3,9,3,0};</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println(arr.length);</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("排序前的数组");</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>//for (int x = 0 ; x <= arr.length;x++  ) </p><p><span class="Apple-tab-span" style="white-space:pre">                </span>//打印数组</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>for (int x : arr ) {</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.print(x+" ");</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>} //换行</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println();   </p><p><span class="Apple-tab-span" style="white-space:pre">                </span>for (int x = 0;x < arr.length ;x++ ) {</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>int index = x;</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>int value = arr[x];</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>for (int y = x;y < arr.length ;y++ ) {</p><p><span class="Apple-tab-span" style="white-space:pre">                                </span>if (arr[y] < value) {</p><p><span class="Apple-tab-span" style="white-space:pre">                                        </span>index = y;</p><p><span class="Apple-tab-span" style="white-space:pre">                                        </span>value = arr[y];</p><p><span class="Apple-tab-span" style="white-space:pre">                                </span>}</p><p>
  2. </p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>   int temp = arr[x];</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>arr[x] = arr[index];</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>arr[index] = temp;</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("排序后的数组");</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>for (int b :arr ) {</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.print(b+" ");</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>}</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>}</p><p>}</p>
复制代码
                         int temp = arr[x];
                        arr[x] = arr[index];
                        arr[index] = temp;
这段代码 不是很懂  求 指教


4 个回复

倒序浏览
  1. class Array2 {
  2.         public static void main(String[] args) {
  3.                 int [] arr = {1,3,5,2,6,8,3,9,3,0};
  4.                 System.out.println(arr.length);
  5.                 System.out.println("排序前的数组");
  6.                 //for (int x = 0 ; x <= arr.length;x++  )
  7.                 //打印数组
  8.                 for (int x : arr ) {
  9.                         System.out.print(x+" ");
  10.                 } //换行
  11.                 System.out.println();   
  12.                 for (int x = 0;x < arr.length ;x++ ) {
  13.                         int index = x;
  14.                         int value = arr[x];
  15.                         for (int y = x;y < arr.length ;y++ ) {
  16.                                 if (arr[y] < value) {
  17.                                         index = y;
  18.                                         value = arr[y];
  19.                                 }

  20.                         }
  21.                    int temp = arr[x];
  22.                         arr[x] = arr[index];
  23.                         arr[index] = temp;
  24.                 }
  25.                 System.out.println("排序后的数组");
  26.                 for (int b :arr ) {
  27.                         System.out.print(b+" ");
  28.                 }
  29.         }
  30. }
复制代码

代码 如上   
又乱码了!!!
回复 使用道具 举报
使用第三变量交换两个值,就像你如何交换两碗里面的饭,是不是需要爱第三个碗?
回复 使用道具 举报
430422 发表于 2015-7-12 08:24
使用第三变量交换两个值,就像你如何交换两碗里面的饭,是不是需要爱第三个碗? ...

谢谢  懂了
回复 使用道具 举报
把arr数组中角标是x和index的两个数位置互换。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马