Java冒泡排序簡單實現(xiàn)
算法描述:對于給定的n個記錄,從第一個記錄開始依次對相鄰的兩個記錄進行比較,當前面的記錄大于后面的記錄時,交換位置,進行一輪比較和交換后,n個記錄中的最大記錄將位于第n位;然后對前(n-1)個記錄進行第二輪比較;重復該過程直到進行比較的記錄只剩下一個為止。
冒泡排序是非常好理解的,以從小到大排序為例,每一輪排序就找出未排序序列中最大值放在最后。
設數(shù)組的長度為N:
(1)比較前后相鄰的二個數(shù)據(jù),如果前面數(shù)據(jù)大于后面的數(shù)據(jù),就將這二個數(shù)據(jù)交換。
(2)這樣對數(shù)組的第0個數(shù)據(jù)到N-1個數(shù)據(jù)進行一次遍歷后,最大的一個數(shù)據(jù)就“沉”到數(shù)組第N-1個位置。
(3)N=N-1,如果N不為0就重復前面二步,否則排序完成。
以上就是冒泡排序的基本思想,按照這個定義很快就能寫出代碼。
package sorting;
/**
* 冒泡排序
* 平均O(n^2),最好O(n),最壞O(n^2);空間復雜度O(1);穩(wěn)定;簡單
* @author zeng
*
*/
public class BubbleSort {
public static void bubbleSort(int[] a){
int n = a.length;
int temp = 0;
for (int i=0;i<n;i++){
for (int j=0;j<n-i-1;j++){
if(a[j]<a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
public static void main(String[] args){
int[] a ={49,38,65,97,76,13,27,50};
bubbleSort(a);
for (int j:a)
System.out.print(j+" ");
}
}
總結
以上就是本文關于Java冒泡排序簡單實現(xiàn)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
Mybatis中BindingException異常的產(chǎn)生原因及解決過程
BindingException異常是MyBatis框架中自定義的異常,顧名思義指的是綁定出現(xiàn)問題,下面這篇文章主要給大家介紹了關于MyBatis報錯BindingException異常的產(chǎn)生原因及解決過程,需要的朋友可以參考下2023-06-06
Java?數(shù)據(jù)結構與算法系列精講之數(shù)組
數(shù)組是有序的元素序列,若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量。數(shù)組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式2022-02-02
SpringBoot服務設置禁止server.point端口的使用
本文主要介紹了SpringBoot服務設置禁止server.point端口的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-01-01
RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請求解析
這篇文章主要為大家介紹了RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請求源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Maven介紹與配置+IDEA集成Maven+使用Maven命令小結
Maven是Apache軟件基金會的一個開源項目,是一個優(yōu)秀的項目構建管理工具,它用來幫助開發(fā)者管理項目中的 jar,以及 jar 之間的依賴關系、完成項目的編譯、測試、打包和發(fā)布等工作,本文給大家介紹Maven介紹與配置+IDEA集成Maven+使用Maven命令,感興趣的朋友一起看看吧2024-01-01
mybatis-plus @DS實現(xiàn)動態(tài)切換數(shù)據(jù)源原理
本文主要介紹了mybatis-plus @DS實現(xiàn)動態(tài)切換數(shù)據(jù)源原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
SpringMVC框架使用 Apache POI實現(xiàn)導出Excel
Excel 作為最常用的數(shù)據(jù)處理工具之一,經(jīng)常被用來存儲和展示數(shù)據(jù),本文將介紹如何在 SpringMVC 框架中使用 Apache POI 庫來實現(xiàn) Excel 文件的導出功能,有需要的可以參考一下2025-04-04

