思想:
n 個元素需要排序 n-1 趟, 每趟比較相鄰的兩個元素,如果前乙個元素和後乙個元素不滿足大小順序規則,則交換位置,這樣一趟下來,一趟中的最大(最小)的元素就 「沉」 到最後面的位置。執行 m 趟排序後,整個元素序列中的最後面的 m 個元素就排好順序了,剩下就只需要將前面的 n-m 個元素排好序即可。
private
void
sortbubble(int arr) }}
}
思想:
n 個元素需要排序 n-1 趟,每趟中找到最大(小)值,放在待排序序列中的第乙個位置,這樣一趟下來,最大值或最小值就放在最前面。
執行 m 趟排序後,整個元素序列中的最前面的 m 個元素就排好順序了,剩下就只需要將後面的 n-m 個元素排好序即可
private
void
sortselect(int arr)
}// 交換位置
if (min != i)
}}
思想:
整個序列分為:已經排好序的序列和待排序的序列,每趟從待排序序列中取出第乙個元素,插入到已經排好序的序列合適的位置。
將插入位置的後面元素依次往後移動位置。
private
void
sortinsert(int arr)
arr[j + 1] = temp;
}}
java資料結構 排序
資料的移動方式,可分為 直接移動 和 邏輯移動 兩種。直接移動改變兩個資料的位置,而邏輯移動,則是改變資料的指標。資料移動使用的記憶體 內部排序,排序的資料量小,可以完全在記憶體中進行。外部排序,排序的資料量無法直接在記憶體內進行排序,而必須使用輔助儲存器。排序演算法的選擇,通常由以下幾點決定 演算...
資料結構(Java) 排序
排序的基本概念 2 排序演算法的效能評價 a 評價排序演算法好壞的標準 執行時間和所需的輔助空間 演算法本身的複雜程度 b 排序演算法的空間複雜度 若排序演算法所需的輔助空間並不依賴於問題的規模n,即輔助空間是o 1 則稱之為就地排序。非就地排序一般要求的輔助空間為o n c 排序演算法的時間開銷 ...
資料結構JAVA 氣泡排序
package com.function.demo 01 author of 2014年12月31日 資料結構 氣泡排序 演算法描述 公升序排列 從第乙個元素開始,對陣列中兩兩相鄰的元素比較,將值較小的元素放在前面,值較大的元素放在後面,一輪比較完畢,乙個最大的數沉底成為陣列中的最後乙個元素,一些較...