氣泡排序:
首先冒牌排序是比較基礎的排序,
所有排序的基礎都是氣泡排序,其他的就是修修**,變變邏輯
氣泡排序適用於數字比較少的情況,數字多了就效率就很低
演算法思想:
把最小值或最大值像泡泡一樣的每一次冒到最後乙個去
1、一共會比較陣列元素個數減1輪 2、每一輪,比較次數比上一輪少1
3、如果前面乙個陣列元素大於/小於後面乙個數字,則交換
比如:16 25 9 90 23 個數字 從大到小排序
16先和25比如比較,如果16比25小就交換,接著16和9比,9小不需要交換,泡泡到了9,9和90比,交換,
9再和23比較,再換,可以看出第一輪比較結束時最小值到了最後,比較了(i - 1)4次,同理第二次比較
(i - 2)3次,第三次比較(i - 3)2次,第四次比較(i-4)1次
陣列元素為nums.length = 5
i = 0 j = 4 j = 5 - 1 - i
i = 1 j = 3 j = 5 - 1 - i i表示比較輪數,j表示1輪比較的次數
i = 2 j = 2 j = 5 - 1 - i
i = 3 j = 1 j = 5 - 1 - i
for (int i = 0; i < nums.length - 1; i++) ;
scanner input =
newscanner
(system.in)
;final
int n =10;
int[
] nums =
newint
[n];
system.out.
println
("排序前:");
// for (int i = 0; i < nums.length; i++)
// system.out.println();
for(
int i =
0; i < nums.length; i++
)//long starttime = system.currenttimemillis();
for(
int i =
0; i < nums.length; i++
) system.out.
println()
;int temp;
//用於交換的臨時變數
for(
int i =
0; i < nums.length -
1; i++)}
}//long endtime = system.currenttimemillis();
//列印結果
system.out.
println
("排序後:");
for(
int i =
0; i < nums.length; i++
) system.out.
println()
; + "毫秒");
氣泡排序 排序 氣泡排序
既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...
HTML基礎(適合入門,很詳細,很詳細,很詳細)
概念 是最基礎的網頁開發語言 標記語言 快速入門 title red hello world green hello world 標籤學習 檔案標籤 構成html最基本的標籤 文字標籤 和文字有關的標籤 p 段落標籤 br 換行標籤 hr 展示一條水平線 b 字型加粗 i 字型斜體 font 字型標...
基礎排序演算法一 氣泡排序
氣泡排序 bubble sort 又被稱為氣泡排序或泡沫排序。它是一種較簡單的排序演算法。它會遍歷若干次要排序的數列,每次遍歷時,它都會從前往後依次的比較相鄰兩個數的大小 如果前者比後者大,則交換它們的位置。這樣,一次遍歷之後,最大的元素就在數列的末尾!採用相同的方法再次遍歷時,第二大的元素就被排列...