Java實現冒泡演算法

2021-09-23 06:13:07 字數 1512 閱讀 7490

排序: 是計算機內經常進行的一種操作,其目的是將一組「無序」的記錄序列調整為「有序」的記錄序列。分內部排序和外部排序,若整個排序過程不需要訪問外存便能完成,則稱此類排序問題為內部排序。反之,若參加排序的記錄數量很大,整個序列的排序過程不可能在記憶體中完成,則稱此類排序問題為外部排序。內部排序的過程是乙個逐步擴大記錄的有序序列長度的過程。

常用的排序總結

穩定性:

排序:

比較和非比較排序

1.冒泡

(1)定義

定義:它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。

這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。

(2)思路描述

​ 1.比較每一對相鄰的數,如果前乙個大於後乙個則交換它們的位置。

temp = a[i]

;a[i]

= a[j]

;a[j]

= temp;

至此交換完成。最後乙個數即為最大的資料。

2.針對每乙個資料都進行以上操作。3.重複1~2直到排序完成。

(3)圖形顯示

(4)**實現

public

void

bubble

(int

arr)}}

long endtime = system.

nanotime()

; system.out.

println(+

(endtime-starttime)

+"ns"

+"比較次數:"

+k);

}

public

void

bubble1

(int

arr)}}

long endtime = system.

nanotime()

; system.out.

println(+

(endtime-starttime)

+"ns"

+"比較次數:"

+k);

}

(5)演算法分析
最佳情況:t(n) = o(n)

最差情況:t(n) = o(n^2)

平均情況:t(n) = o(n^2)

Java實現氣泡排序演算法

一 基本思路 氣泡排序是一種簡單的交換類排序。其基本思路是,從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣...

Java實現氣泡排序演算法

氣泡排序是一種簡單的交換類排序。其基本思路是,從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣泡排序,總共需...

Java實現氣泡排序演算法

一 基本思路 氣泡排序是一種簡單的交換類排序。其基本思路是,從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣...