當前位置:才華齋>計算機>java語言>

用Java寫一個氣泡排序方法

java語言 閱讀(2.13W)

引導語:氣泡排序也是Java語言面試可能會出現的題目,以下是本站小編分享給大家的`用Java寫一個氣泡排序方法,歡迎閱讀學習!

用Java寫一個氣泡排序方法

 用Java寫一個氣泡排序

答:氣泡排序幾乎是個程式設計師都寫得出來,但是面試的時候如何寫一個逼格高的氣泡排序卻不是每個人都能做到,下面提供一個參考程式碼:

12345678910111213141516171819202122import arator;/*** 排序器介面(策略模式: 將演算法封裝到具有共同介面的獨立的類中使得它們可以相互替換)* @author駱昊**/public interface Sorter {/*** 排序* @param list 待排序的陣列*/public <T extends Comparable<T>> void sort(T[] list);/*** 排序* @param list 待排序的陣列* @param comp 比較兩個物件的比較器*/public <T> void sort(T[] list, Comparator<T> comp);}
123456789101112131415161718192021222324252627282930313233343536373839404142import arator;/*** 氣泡排序* * @author駱昊**/public class BubbleSorter implements Sorter {@Overridepublic <T extends Comparable<T>> void sort(T[] list) {boolean swapped = true;for (int i = 1, len = th; i < len && swapped; ++i) {swapped = false;for (int j = 0; j < len - i; ++j) {if (list[j]areTo(list[j + 1]) > 0) {T temp = list[j];list[j] = list[j + 1];list[j + 1] = temp;swapped = true;}}}}@Overridepublic <T> void sort(T[] list, Comparator<T> comp) {boolean swapped = true;for (int i = 1, len = th; i < len && swapped; ++i) {swapped = false;for (int j = 0; j < len - i; ++j) {if (are(list[j], list[j + 1]) > 0) {T temp = list[j];list[j] = list[j + 1];list[j + 1] = temp;swapped = true;}}}}}