冒泡排序算法是一種較為簡單的並且穩定的排序算法,該算法的時間復雜度最好為O(n),最差時為O(n^2),需要的空間復雜度為O(1)。 這里的算法穩定性是指 經過排序后,各元素仍然能保持它們在排序之前的相對次序,就稱該算法是穩定的,反之,則為不穩定的。 例如,一組數排序前是a1,a2,a3,a4 ...
以整數升序排序為例來簡單說明一下雙向冒泡排序的過程:首先從前往后把最大數移到最后,然后反過來從后往前把最小的一個數移動到數組最前面,這一過程就是第一輪,然后重復這一過程,最終就會把整個數組從小到大排列好。雙向冒泡排序要稍微優於傳統的冒泡排序,因為雙向排序時數組的兩頭都排序好了,我們只需要處理數組的中間部分即可,而單向即傳統的冒泡排序只有尾部的元素是排好序的,這時每輪處理都需要從頭一直處理到已經排好 ...
2015-01-02 10:57 0 4053 推薦指數:
冒泡排序算法是一種較為簡單的並且穩定的排序算法,該算法的時間復雜度最好為O(n),最差時為O(n^2),需要的空間復雜度為O(1)。 這里的算法穩定性是指 經過排序后,各元素仍然能保持它們在排序之前的相對次序,就稱該算法是穩定的,反之,則為不穩定的。 例如,一組數排序前是a1,a2,a3,a4 ...
下面是兩種一般冒泡算法和雙向冒泡算法的對比: #include "stdafx.h" #include <stdio.h> #include <stdlib.h> //一般的冒泡排序 void bubbleSort(int a[], int n) { int i ...
冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。 冒泡排序對n ...
1、冒泡排序算法的介紹 冒泡排序算法實現原理非常簡單,就是比較相鄰的兩個元素,將較大或者較小的元素移動到右端,這樣循環遍歷n-1趟就能把一列數據變得有序。 2、冒泡排序算法的特點 依次比較相鄰的兩個數,將小數放在前面,大數放在后面。即在第一趟:首先比較第1個和第2個數,將小數放前 ...
冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。 它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。 這個算法的名字 ...
今天咱們把常見的幾種排序算法,整理了一下,希望能對正在看這篇帖子的你有輕微的小幫助依照慣例,在寫每一篇帖子之前,筆者都會遵循以下幾點原則: 1、如果一個什么都不懂的人都能把這篇文章看懂,那就說明這篇博客通俗易懂 2、盡量保持排版整齊,讓讀者閱讀起來不是那么累,簡單舒服即可 3、盡可能的保證 ...
在前面的文章中,已經向大家介紹了插入排序和選擇排序兩種基本的排序方法。今天要介紹的是另外一種排序方法——冒泡排序。 思想 同之前介紹的兩種排序方式一樣,冒泡排序也是最簡單最基本的排序方法之一。冒泡排序的思想很簡單,就是以此比較相鄰的元素大小,將小的前移,大的后移,就像水中的氣泡一樣,最小的元素 ...
View Code 輸出結果為: 第1次排序后的結果 : -78 2 5 1 4 0 -3 59 3 62 第2次排序后的結果 : -78 -3 2 5 1 4 0 3 59 62 第3次排序后 ...