摘要:優點實現簡單,比較穩定。缺點時間復雜度較高。原理比較兩個相鄰的元素,將值大的元素交換至右端。思路依次比較相鄰的兩個數,將小數放在前面,大數放在后面。重復第一趟步驟,直至全部排序完成。
優點:實現簡單,比較穩定。
缺點:時間復雜度較高。
原理:比較兩個相鄰的元素,將值大的元素交換至右端。
思路:依次比較相鄰的兩個數,將小數放在前面,大數放在后面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放后。然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續,直至比較最后兩個數,將小數放前,大數放后。重復第一趟步驟,直至全部排序完成。
舉例說明:要排序數組:int[] arr={6,3,8,2,9,1};
第一趟排序:
第一次排序:6和3比較,6大于3,交換位置: 3 6 8 2 9 1
第二次排序:6和8比較,6小于8,不交換位置:3 6 8 2 9 1
第三次排序:8和2比較,8大于2,交換位置: 3 6 2 8 9 1
第四次排序:8和9比較,8小于9,不交換位置:3 6 2 8 9 1
第五次排序:9和1比較:9大于1,交換位置: 3 6 2 8 1 9
第一趟總共進行了5次比較, 排序結果: 3 6 2 8 1 9
第二趟排序:
第一次排序:3和6比較,3小于6,不交換位置:3 6 2 8 1 9
第二次排序:6和2比較,6大于2,交換位置: 3 2 6 8 1 9
第三次排序:6和8比較,6大于8,不交換位置:3 2 6 8 1 9
第四次排序:8和1比較,8大于1,交換位置: 3 2 6 1 8 9
第二趟總共進行了4次比較, 排序結果: 3 2 6 1 8 9
第三趟排序:
第一次排序:3和2比較,3大于2,交換位置: 2 3 6 1 8 9
第二次排序:3和6比較,3小于6,不交換位置:2 3 6 1 8 9
第三次排序:6和1比較,6大于1,交換位置: 2 3 1 6 8 9
第二趟總共進行了3次比較, 排序結果: 2 3 1 6 8 9
第四趟排序:
第一次排序:2和3比較,2小于3,不交換位置:2 3 1 6 8 9
第二次排序:3和1比較,3大于1,交換位置: 2 1 3 6 8 9
第二趟總共進行了2次比較, 排序結果: 2 1 3 6 8 9
第五趟排序:
第一次排序:2和1比較,2大于1,交換位置: 1 2 3 6 8 9
第二趟總共進行了1次比較, 排序結果: 1 2 3 6 8 9
最終結果:1 2 3 6 8 9
由此可見: } 完整代碼實現:`public class Jianzhi{ }`
for(int i=0;ifor(int j=0;j
public static void bubbleSort(int[] list){
if(list == null ){
return ;
}if(list.length == 1){
return ;
}else{
for(int i = 0 ; i < list.length ; i++ ){
for(int j = 0 ; j < list.length-1-i ; j++ ){
if(list[j]>list[j+1]){
int t = list[j] ;
list[j] = list[j+1] ;
list[j+1] = t ;
}
}
}
}
}
public static void main(String[] args){
int[] ss = {3,2,5,4,1,7,6,8};
ss[0] = 3 ;
ss[1] = 2 ;
ss[2] = 5 ;
bubbleSort(ss);
for(int i : ss){
System.out.println(i);
}
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71329.html
摘要:筆者寫的數據結構與算法之美系列用的語言是,旨在入門數據結構與算法和方便以后復習。這應該是目前較為簡單的十大經典排序算法的文章講解了吧。比如原本在的前面,而,排序之后,在的后面十大經典排序算法冒泡排序思想冒泡排序只會操作相鄰的兩個數據。 showImg(https://segmentfault.com/img/bVbvHet); 1. 前言 算法為王。想學好前端,先練好內功,內功不行,就...
摘要:計算機領域的都多少掌握一點算法知識,其中排序算法是數據結構與算法中最基本的算法之一。排序算法可以分為內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。 計算機領域的都多少掌握一點算法知識,其中排序算法是《數據結構與算法》中最基本的算法之一。排序算法可以分為內部排序和外部排序,內部排序是數據記錄在內...
摘要:對每一對相鄰元素作同樣的工作,從開始第一對一直到結尾的最后一對,如此將最大的數放在后面。持續每次對元素重復上面的步驟,直到排序完成。排序步驟將第一待排序序列第一個元素看做一個有序序列,把第二個元素到最后一個元素當成是未排序序。 前端攻城獅——學習常用的排序算法 一、冒泡排序 優點: 所有排序中最簡單的,易于理解; 缺點: 時間復雜度O(n^2),平均來說是最差的一種排序方式; 因為在...
摘要:對每一對相鄰元素作同樣的工作,從開始第一對一直到結尾的最后一對,如此將最大的數放在后面。持續每次對元素重復上面的步驟,直到排序完成。排序步驟將第一待排序序列第一個元素看做一個有序序列,把第二個元素到最后一個元素當成是未排序序。 前端攻城獅——學習常用的排序算法 一、冒泡排序 優點: 所有排序中最簡單的,易于理解; 缺點: 時間復雜度O(n^2),平均來說是最差的一種排序方式; 因為在...
閱讀 3546·2019-08-30 12:58
閱讀 928·2019-08-29 16:37
閱讀 2801·2019-08-29 16:29
閱讀 3107·2019-08-26 12:18
閱讀 2368·2019-08-26 11:59
閱讀 3415·2019-08-23 18:27
閱讀 2788·2019-08-23 16:43
閱讀 3305·2019-08-23 15:23