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; } } } } }
相關文章
java 鍵盤輸入一個數(shù),輸出數(shù)組中指定元素的示例
今天小編就為大家分享一篇java 鍵盤輸入一個數(shù),輸出數(shù)組中指定元素的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07springboot 注冊服務注冊中心(zk)的兩種方式詳解
本文通過一個demo講述一下這兩種注冊方式,使用的是傳統(tǒng)的向zk注冊的方案。對springboot 注冊zk的相關知識感興趣的朋友一起看看吧2018-01-01詳解SpringBoot修改啟動端口server.port的四種方式
這篇文章主要介紹了詳解SpringBoot修改啟動端口server.port的四種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Java的外部類為什么不能使用private和protected進行修飾的講解
今天小編就為大家分享一篇關于Java的外部類為什么不能使用private和protected進行修飾的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04詳解JAVA后端實現(xiàn)統(tǒng)一掃碼支付:微信篇
本篇文章主要介紹了詳解JAVA后端實現(xiàn)統(tǒng)一掃碼支付:微信篇,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2017-01-01JAVA調用SAP WEBSERVICE服務實現(xiàn)流程圖解
這篇文章主要介紹了JAVA調用SAP WEBSERVICE服務實現(xiàn)流程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10