1. 程式人生 > >經典演算法體會之氣泡排序

經典演算法體會之氣泡排序

通過java語法理解氣泡排序,原理是臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,這樣一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束。最核心的就是兩兩比較,將最小的升上去。

package test;


public class aa{
    public static void main(String[] args){
         int score[] = {67, 69, 75, 87, 89, 90, 99, 100};//陣列內有8個無序元素
        for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序
             for(int j = 0 ;j < score.length - i - 1; j++){    //對當前無序區間score[0......length-i-1]進行排序(
                 if(score[j] < score[j + 1]){    //把小的值交換到後面
                     int temp = score[j];
                     score[j] = score[j + 1];
                     score[j + 1] = temp;
                 }
             }            
             System.out.print("第" + (i + 1) + "次排序結果:");
             for(int a = 0; a < score.length; a++){
                 System.out.print(score[a] + "\t");
             }
             System.out.println("");
         }
             System.out.print("最終排序結果:");
             for(int a = 0; a < score.length; a++){
                System.out.print(score[a] + "\t");//輸出最終排序結果
       }
     }
 }


相關推薦

經典演算法體會氣泡排序

通過java語法理解氣泡排序,原理是臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,這樣一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位

排序演算法入門氣泡排序

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                在開發中,對一組資料進行有序地排列是經常需要做的事情,所以掌握幾種甚至更多的排序演算法是絕對有必要的本文章介紹的是排序演算法中較簡單的一種演算法:氣泡排序題外話

Java演算法實現氣泡排序及優化

氣泡排序,是一種很簡單的排序演算法。原理就不過多介紹了,直接入手demo。 需求:輸入一組資料,用氣泡排序進行排序。 先用最直接的方法進行排序,程式碼如下: //對一組數進行氣泡排序 public class Bubble01 { public static void m

【一點一點寫演算法 氣泡排序

演算法描述 氣泡排序,學習演算法的時候最先接觸的,也是最簡單的排序演算法。過於簡單,兩兩比較一輪次比較下來會把較小的數字慢慢浮到上面來。 程式 #include "stdafx.h" #define N 10 int _tmain(int arg

排序演算法總結氣泡排序

氣泡排序(Bubble Sort,臺灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它的基本思想就是兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地

Java經典排序演算法氣泡排序(Bubble sort)

原理: 比較兩個相鄰的數,將大值交換到右邊,依次進行比較,直到排序完成圖解:以上圖片來源於百度Java實現:      /** * java實現氣泡排序 */ private static int[] arrays={2,16,8,32,64,10

8種經典演算法氣泡排序

氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交

Java中的經典演算法氣泡排序(Bubble Sort)

原理:比較兩個相鄰的元素,將值大的元素交換至右端。 思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全部排序完成

決勝經典演算法氣泡排序

本篇是《決勝經典演算法》系列文章的第一篇,作為開篇,先向各位讀者說明一下本系列的幾個“原則”。 由淺入深:剛一開始將會分享很易懂、易於理解的演算法。比如本文講述的氣泡排序法就可以稱得上是最為簡單的演算法了; 思路優先,程式碼為輔:對於任何一種演算法,可以說思路是最重要的。有了思路,相當於成功了一半。另外,

c#程式碼實現排序演算法氣泡排序

氣泡排序的平均時間複雜度為O(n²),最好時間複雜度為O(n),最壞時間複雜度為O(n²),空間複雜度為O(1),是一種穩定的演算法。 1.將整個待排序的記錄序列劃分成有序區和無序區,初始時有序區為空,無序區包括所有待排序的記錄。 2.對無序區從前向後依次比較相鄰記錄,若反序則交

排序演算法氣泡排序(關鍵詞:資料結構/演算法/排序演算法/氣泡排序

假定:有 1 個亂序的數列 nums ,其中有 n 個數。 要求:排好序之後是 從小到大 的順序。 氣泡排序演算法 程式碼 from swap import swap def bubble_sort(nums): n = len(nums) for i in rang

基礎演算法--排序氣泡排序

 氣泡排序,是所有排序中用的最多和最易想起的一種排序演算法。      其排序思想: 對未排序的相鄰元素進行兩兩比較,找出未排序元素中的最值,並將其置入應有位置。     演算法特點:   &n

排序演算法氣泡排序【java實現】

氣泡排序介紹 基本思想就是相鄰資料交換,每次將最大或最小的數進行移動。 步驟:(1)對陣列中的各資料,依次比較相鄰的兩個元素的大小。            (2)如果前面的資料大於(小於)後面的資料,就交換這兩個資料。經過第一輪

排序演算法氣泡排序——2種形式

1.第一種形式氣泡排序 package Sort; public class BubbleSort1 {     public static void main(String[] args) {      &nbs

演算法氣泡排序-python實現

大家好,歡迎收看我的文章,如果感覺我的文章能對您有所幫助,您可以點選關注我,您的支援就是我堅持創作的動力 氣泡排序演算法 比如有6個數: [22,44,33,55,66,77]從大到小排序,對相鄰的兩位進行比較 第一輪 第一次比較: 44,22,33,55

資料結構與演算法--蠻力法氣泡排序與時間複雜度分析(java)

蠻力法         蠻力法又稱窮舉法和列舉法,是一種簡單直接地解決問題的方法,常常直接基於問題的描述,所以蠻力法也是最容易應用的方法。但是蠻力法所設計的演算法時間特性往往是比較低的,典型的指數時間演算法一般都是通過蠻力

排序演算法氣泡排序改進演算法

前言 排序演算法中最最常見也算是入門的一個排序演算法就是氣泡排序。這篇文章我們就來好好地寫寫這個氣泡排序演算法,以及氣泡排序呢的改進演算法。 傳統冒泡演算法 static int[] array = {100,1,5,4,11,2,20,18,89,34,20,34}; @Test publ

java演算法氣泡排序

氣泡排序法 口訣: 外層迴圈 0到n-1 //控制比較輪數 n 表示元素的個數 內層迴圈 0到n-i-1 //控制每一輪比較次數 兩兩比較做交換       氣泡排序的優點:每進行一趟排序,就會少比較一次,因為每進行一

演算法排序氣泡排序

   最近一段時間一段時間一直在學習演算法排序,突然間就想把以前學的排序演算法來寫一寫。    今天就先來說一下氣泡排序,下就然我們來看一下氣泡排序的幾個特點和其中的一種演算法實現: 1、比較相鄰的

Java排序演算法——氣泡排序,插入排序,選擇排序

<1>氣泡排序 這個名詞的還是很形象的,就是每次比較相鄰的兩個數,大的數總是往後面冒,所以每輪比較結束後,大數都會冒到最後面。 每次比較的結果如下: 無序陣列  :8 2 4 3 5 7 1 9 6 (後面所有的排序都將使用這個陣列) 第一輪比較:2 4 3 5