用Java寫一個冒泡排序方法
引導語:冒泡排序也是Java語言面試可能會出現的題目,以下是本站小編分享給大家的`用Java寫一個冒泡排序方法,歡迎閱讀學習!
用Java寫一個冒泡排序
答:冒泡排序幾乎是個程序員都寫得出來,但是面試的時候如何寫一個逼格高的冒泡排序卻不是每個人都能做到,下面提供一個參考代碼:
12345678910111213141516171819202122 | import 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); } |
123456789101112131415161718192021222324252627282930313233343536373839404142 | import arator; /**
* 冒泡排序
*
* @author駱昊
*
*/ public class BubbleSorter implements Sorter {
@Override
public <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 ;
}
}
}
}
@Override
public <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 ;
}
}
}
} } |
相關文章
-
冒泡排序算法原理及JAVA實現代碼方法
冒泡排序算法原理及JAVA實現代碼方法冒泡排序法:關鍵字較小的記錄好比氣泡逐趟上浮,關鍵字較大的記錄好比石塊下沉,每趟有一塊最大的石塊沉底。算法本質:(最大值是關鍵點,肯定放到最後了,如此循環)每次都從第一位向後滾動 -
冒泡排序的原理以及java代碼實現
教師下半年個人工作要堅持強化服務意識,實現方法和機制的創新,促進教育技術的優先發展,全面發展、協調發展。以下是本站小編爲你精心整理的關於20xx教師下半年個人工作計劃的內容,希望你喜歡。20xx教師下半年個人工作計劃 -
JAVA常用4種排序方法
JAVA中在運用數組進行排序功能時,一般有四種方法:快速排序法、冒泡法、選擇排序法、插入排序法。以下是爲大家分享的JAVA常用4種排序方法,供大家參考借鑑,歡迎瀏覽!當然 程序中最簡單的使用就是:快速排序和冒泡排序,插入排 -
java的常見排序方法
複製代碼 代碼如下:package ;import om;/*** 排序測試類** 排序算法的分類如下: 1.插入排序(直接插入排序、折半插入排序、希爾排序); 2.交換排序(冒泡泡排序、快速排序);* 3.選擇排序(直接選擇排序、堆排序); 4.歸併排序; 5.基 -
常用Java排序算法詳解
Java是一門面向對象編程語言,本文主要介紹了java的七種常見排序算法的實現,具有很好的參考價值。下面就跟着小編一起來看下吧。 一、選擇排序(SelectSort)基本原理:對於給定的一組記錄,經過第一輪比較後得到最小的記錄 -
Java常用的五大排序算法
往事之顛回想過去的往事,我沉寂的無可自拔。因爲它太美好了,另我無法忘懷……可現在我不再是國小生了,我回不到那裏的原點。 回想那段時光的無數個日日夜夜,都是我人生中最美好的時光。多麼無憂無慮,多麼純潔可愛,多麼令 -
Java常用的7大排序算法
Java是一門面向對象編程語言,以下總結了下java中常用的七大排序算法,希望對大家有幫助! 1.插入排序算法插入排序的基本思想是在遍歷數組的過程中,假設在序號 i 之前的元素即 [0..i-1] 都已經排好序,本趟需要找到 i 對應 -
Java面試題Java寫一個折半查找
引導語:折半查找是指如果不是從一組隨機的序列裏查找,而是從一組排好序的序列裏找出某個元素的位置,則可以有更快的算法。以下是本站小編分享給大家的用Java面試題Java寫一個折半查找,歡迎閱讀參考!用Java寫一個折半查 -
Java入門教程:如何使用一個Java
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++裏難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。下面是本站小編整理的關於使用java語言的內容,歡迎閱讀! Java入 -
怎麼寫第一個java程序
public class HelloWorld{public static void main(String[] args){tln("Hello World!");}打開文本編輯器,把上面的代碼COPY進去,然後保存,注意在保存完之後,本來是文本文件(*. txt)改成 ,這裏文件名,必須和上面java代碼cl