int型別陣列實現氣泡排序

2021-10-08 16:37:28 字數 803 閱讀 6141

首先,我們要進行氣泡排序,我們需要乙個排序物件,這裡我們以int型別的陣列為例,這裡先宣告乙個int型別的陣列,宣告乙個陣列有兩種方式,一種是動態初始化,一種是靜態初始化,我們要對陣列內的元素進行排序,所以這裡我們採用靜態初始化,int arr = ;。

**原理:**氣泡排序,顧名思義就是每次從陣列的低端冒出乙個最大值和最小值來實現對組數的降序或者公升序排列,這裡我們來實現對上面陣列的公升序排列,也就是從陣列的底端到頂端每次冒出乙個最小值來,那這個最小值是怎麼得到的呢?就是陣列最末尾(用當前位表示)的那個元素和它前乙個比較,如果小就發生乙個值的互換,當前位往上挪一位,再進行比較;如果比它大就不用發生值的互換,但當前位還是要往上挪一位,再進行比較。這樣進行x次比較我們就可以得到第乙個最小值,x次是幾次呢?x=陣列長度-1次。我們用乙個迴圈表示怎樣得到了這個最小值,那第二小值怎麼辦,所以說我們要在這個迴圈外邊再用乙個迴圈來控制它得輪次,外面的迴圈表示每一次找到乙個最小值,那外面的迴圈需要執行幾次呢?y=陣列的長度-1,我們以上面那個陣列為例,當外面的迴圈執行4次,其實陣列已經排好了,所以說我們為了優化程式,把外面迴圈定義成陣列長度-1次。那再有乙個問題就是,當外面迴圈執行第二次的時候,也就是找出這個陣列中第二小值得時候裡面迴圈是不是只需要迴圈3次就可以找到第二小的值?答案是對的,第二次迴圈裡層迴圈就會少一次,依次類推。

**展示:

大家可以把**和上面文字說明聯絡起來看,這樣可以更方便理解,理解了對陣列的公升序排列,相信叫大家在做乙個降序排列也沒什麼問題了。

C 基礎 氣泡排序 一維int陣列排序

using system namespace int temp 0 從小到大 for int i 0 i nums.length 1 i foreach var val in nums console.writeline 從大到小 for int i 0 i nums.length 1 i fore...

js複雜資料型別 陣列 實現氣泡排序

陣列 是乙個有序的值得集合 可以儲存大量的資料 1 建立陣列的兩種方式 1 字面量 var arr 建立乙個空陣列 注意點 陣列裡面可以儲存任意型別的資料,但規定是儲存同型別的資料 2 建構函式的方式 var arr new array 建立乙個空陣列 2 陣列的下標和長度 1 陣列的長度 arr....

氣泡排序之java陣列實現

氣泡排序的演算法思想 比較相鄰兩個元素的關鍵字值,如果反序,則交換。若按照公升序排序,每一趟將掃瞄資料序列的最大值到最後位置。即最多掃瞄n 1次,每次確定乙個值。下面是乙個陣列的氣泡排序實現 氣泡排序是穩定的 從小到大氣泡排序 氣泡排序時間效率在o n 和o n n 之間 public static...