天天看點

Java數組冒泡排序與二維數組

冒泡排序:

   冒泡排序是最常用也是最入門的數組排序算法之一,它排序數組的元素過程總是将小數往前放,大數往後放,類似于水中氣泡往上升的動作,是以稱作冒泡排序。例如:

<a href="https://s5.51cto.com/wyfs02/M00/A7/82/wKioL1nndKHSera5AA2-vhNfbGQ394.png" target="_blank"></a>

  冒泡排序有多種寫法,這是其中一種方式。冒泡算法由雙層循環實作,其中外層循環用于控制排序輪數,一般為要排序的數組長度減一次,因為最後一次循環隻剩下一個數組元素,不需要對比,同時數組已經完成排序了。而内層循環主要用于對比數組中每個臨近元素的大小,以确定是否交換位置,對比和交換次數随排序輪數而減少。最後面用周遊的方式将值取出來,可以用for循環或for each循環。

基本思想:

  冒泡排序的基本思想就是對比相鄰的元素值,如果滿足條件就交換元素值,把較小的元素移動到數組前面,把大的元素移動到數組後面(也就是交換兩個元素的位置),這樣較小的元素就像氣泡一樣從底部上升到頂部。

二維數組:

  二維數組就是數組中還有數組,二維數組常用于表示表格,表格中的資訊以行和列的形式組織,在遊戲中一般用來做2D地圖,在後期應用中雖然不會太廣泛,但是也是需要了解掌握的,二維數組中第一個[ ]下标代表元素所在的行,第二個[ ]下标代表元素所在的列。例如:

<a href="https://s5.51cto.com/wyfs02/M00/08/D2/wKiom1nnd1ngCcvTAAXd2nciYh4022.png" target="_blank"></a>

二維數組常用的正确聲明方式:

  1.int[ ][ ] i=new int[ ][ ];  //聲明一個int類型辨別符為i的空二維數組

  2.int[ ][ ] i=new int[3][3];  //聲明一個int類型辨別符為i,行長度為3,列長度為3的二維數組

  3.int[ ][ ] i={{23,3,4},{42,45,67},{75,43,23}};   //聲明一個int類型辨別符為i,行長度為3,列長度為3,并且初始化給予參數值的二維數組

  4.int[ ][ ] i=[ ][ ]{{23,3,4},{42,45,67},{75,43,23}};   //聲明一個int類型辨別符為i,行長度為3,列長度為3,并且初始化給予參數值的二維數組

  5.int  i [ ][ ];  //聲明一個int類型辨別符為i的空二維數組

  6.int i=3;  

 int j=3;

   int[][] number=new int[i][j];   //聲明一個int類型,辨別符為 number,用變量i的值來定義行的長度,用變量j的值來定義列的長度。

二維數組周遊需要用嵌套一個循環。例如:

<a href="https://s5.51cto.com/wyfs02/M02/08/D2/wKiom1nnd2GCkRtmAA4v3DmNraY808.png" target="_blank"></a>

for each循環嵌套也可以實作周遊。例如:

<a href="https://s2.51cto.com/wyfs02/M01/A7/82/wKioL1nndLWR7jvsABBD91OPy9w915.png" target="_blank"></a>

本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1973990,如需轉載請自行聯系原作者