Java數(shù)據(jù)結構及算法實例:冒泡排序 Bubble Sort
更新時間:2015年06月20日 11:07:19 投稿:junjie
這篇文章主要介紹了Java數(shù)據(jù)結構及算法實例:冒泡排序 Bubble Sort,本文直接給出實現(xiàn)代碼,代碼中包含詳細注釋,需要的朋友可以參考下
/**
* 冒泡排序估計是每本算法書籍都會提到的排序方法。
* 它的基本思路是對長度為N的序列,用N趟來將其排成有序序列。
* 第1趟將最大的元素排在序列尾部,第2趟將第2大的元素排在倒數(shù)第二的位置,
* 即每次把未排好的最大元素冒泡到序列最后端。
* 該排序方法實際上分為兩重循環(huán),外層循環(huán):待排元素從數(shù)組的第1個元素開始。
* 內層循環(huán):待排元素從數(shù)組的第1個元素開始,直到數(shù)組尾端未排過的元素。
* 在內循環(huán)中,如果遇到前面元素比其后的元素大就交換這兩個元素的位置。
* 由此可見冒泡排序的復雜度是O(n^2)
*/
package al;
public class BubbleSort {
/*
* 冒泡排序 Java語言編寫,可以直接運行 輸入:n個數(shù)<a1,a2,,an>
* 輸出:輸入序列的一個排列<a1',a2',,an'>,其中a1'<=a2'<=<=an' 待排的數(shù)也稱為key 復雜度:O(n^2) 輸出結果:9
* 10 14 14 21 43 50 77 例子:高矮個站隊
*/
public static void main(String[] args) {
BubbleSort bubbleSort = new BubbleSort();
int[] elements = { 14, 77, 21, 9, 10, 50, 43, 14 };
// sort the array
bubbleSort.sort(elements);
// print the sorted array
for (int i = 0; i < elements.length; i++) {
System.out.print(elements[i]);
System.out.print(" ");
}
}
/**
* @author
* @param array
* 待排數(shù)組
* @return void
*/
public void sort(int[] array) {
int i, j;
int tmp;
for (i = 0; i <= (array.length - 1); i++) { // outer loop
for (j = 0; j < (array.length - 1 - i); j++) { // inner loop
if (array[j] > array[j + 1]) {
tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
}
}
相關文章
SpringBoot+WebMagic實現(xiàn)網(wǎng)頁爬蟲的示例代碼
本文是對spring?boot+WebMagic+MyBatis做了整合,使用WebMagic爬取數(shù)據(jù),然后通過MyBatis持久化爬取的數(shù)據(jù)到mysql數(shù)據(jù)庫,具有一定的參考價值,感興趣的可以了解一下2023-10-10
java?中的HashMap的底層實現(xiàn)和元素添加流程
這篇文章主要介紹了java?中的HashMap的底層實現(xiàn)和元素添加流程,HashMap?是使用頻率最高的數(shù)據(jù)類型之一,同時也是面試必問的問題之一,尤其是它的底層實現(xiàn)原理,下文更多詳細內容,需要的小伙伴可以參考一下2022-05-05
java如何使用fastjson修改多層嵌套的Objectjson數(shù)據(jù)
這篇文章主要介紹了java如何使用fastjson修改多層嵌套的Objectjson數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
springboot使用Mybatis(xml和注解)過程全解析
這篇文章主要介紹了springboot使用Mybatis(xml和注解)過程全解析 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
SpringBoot啟動報錯屬性循環(huán)依賴報錯問題的解決
這篇文章主要介紹了SpringBoot啟動報錯屬性循環(huán)依賴報錯問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05

