1. 程式人生 > >JAVA-初步認識-第五章-數組-常見操作-選擇排序

JAVA-初步認識-第五章-數組-常見操作-選擇排序

nbsp 延伸 .com 進行 src 自己的 初步 排序 .cn

一. 排序

元素有很多的情況下,我們都希望元素按照指定的方式有一個順序,比如說由小到大。排序的方式有很多種,我們講解其中一種。

例子:

技術分享

對上面的數組中的元素排個序,從小到大。這個想不出來,之前談論的是兩個數比較,得到大的數。

技術分享

聽了視頻的一點講解,突然有了思路,角標0和角標1進行比較後,將元素的大小做了調換,再繼續將角標0和剩余角標的元素進行比較,最終保證角標0中的元素是所有角標中最小的。接著重復將角標1和後面角標中的元素進行比較,再得出一個最小的值,如此往復。這裏排序的時候,有一點是要註意的,角標和空格位始終是從0到5的,如果要求排序的話,裏面的元素是不斷要調換位置的。不要僵硬地以為元素的角標號是固定不變的,變量想要獲得元素的數據,只需要將其角標號給變量即可,至於角標號變化了,那就給予變化後的角標號即可,並不影響賦值,同時數組存儲的依舊是那些值,沒有變化。

→本節的例子還是從兩個數的大小比較演變而來。這也驗證了一點,現象的背後總有規律,什麽東西都不可能憑空出現的。

→在數組的應用中,元素和角標號兩者很重要,同時需要註意。

對於上面的例子,角標的個數是明確的,也比較少,在編寫源代碼的時候比較好寫。延伸一下,如果數組中數據的個數比較多,該怎麽得到一個從小到大的排序?那可能要借助循環結構的自動功能。為什麽這麽說?我目前沒有看到,視頻的解題源代碼,但是,我的想法是,五個角標的元素排序問題,我設置五個獨立的循環結構比較。五個獨立的,復用性不好,應該將其整合起來。

→→需要遍歷數組,遍歷數組是什麽意思?遍歷好像就是將所有元素都來操作一遍。

大圈套小圈思想。

自己的解題過程

技術分享

技術分享

視頻解題

技術分享

技術分享

JAVA-初步認識-第五章-數組-常見操作-選擇排序