C語言排序演算法之“氣泡排序法”
氣泡排序法大家都較熟悉。先定義一個整型陣列a[n],其原理為從a[0]開始,依次將其和後面的元素比較,若a[0]>a,則交換它們,一直比較到a[n]。同理對a[1],a[2],...a[n-1]處理,即完成排序。下面列出其程式碼:
void bubble(int *a,int n) /*定義兩個引數:陣列首地址與陣列大小*/ { int i,j,temp; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) /*注意迴圈的上下限*/ if(a>a[j]) { temp=a; a=a[j]; a[j]=temp; } }
氣泡排序法原理簡單,但其缺點是交換次數多,效率低。
相關推薦
C語言排序演算法之“氣泡排序法”
氣泡排序法大家都較熟悉。先定義一個整型陣列a[n],其原理為從a[0]開始,依次將其和後面的元素比較,若a[0]>a,則交換它們,一直比較到a[n]。同理對a[1],a[2],...a[n-1]處理,即完成排序。下面列出其程式碼: void bubble(int *
c#程式碼實現排序演算法之氣泡排序
氣泡排序的平均時間複雜度為O(n²),最好時間複雜度為O(n),最壞時間複雜度為O(n²),空間複雜度為O(1),是一種穩定的演算法。 1.將整個待排序的記錄序列劃分成有序區和無序區,初始時有序區為空,無序區包括所有待排序的記錄。 2.對無序區從前向後依次比較相鄰記錄,若反序則交
【領卓教育】C語言基礎教學之氣泡排序
在C語言中,經常會用到for迴圈語句,通過for迴圈語句,可以使很多程式變得簡便,同時也能實現很多普通語句不能實現的功能。在for迴圈中,不僅只是單純的一個for迴圈,例如: main { ...; for(i=0;i<10;i++)
排序演算法之氣泡排序(關鍵詞:資料結構/演算法/排序演算法/氣泡排序)
假定:有 1 個亂序的數列 nums ,其中有 n 個數。 要求:排好序之後是 從小到大 的順序。 氣泡排序演算法 程式碼 from swap import swap def bubble_sort(nums): n = len(nums) for i in rang
排序演算法之氣泡排序【java實現】
氣泡排序介紹 基本思想就是相鄰資料交換,每次將最大或最小的數進行移動。 步驟:(1)對陣列中的各資料,依次比較相鄰的兩個元素的大小。 (2)如果前面的資料大於(小於)後面的資料,就交換這兩個資料。經過第一輪
排序演算法之氣泡排序——2種形式
1.第一種形式氣泡排序 package Sort; public class BubbleSort1 { public static void main(String[] args) { &nbs
排序演算法之氣泡排序改進演算法
前言 排序演算法中最最常見也算是入門的一個排序演算法就是氣泡排序。這篇文章我們就來好好地寫寫這個氣泡排序演算法,以及氣泡排序呢的改進演算法。 傳統冒泡演算法 static int[] array = {100,1,5,4,11,2,20,18,89,34,20,34}; @Test publ
Java排序演算法之——氣泡排序,插入排序,選擇排序
<1>氣泡排序 這個名詞的還是很形象的,就是每次比較相鄰的兩個數,大的數總是往後面冒,所以每輪比較結束後,大數都會冒到最後面。 每次比較的結果如下: 無序陣列 :8 2 4 3 5 7 1 9 6 (後面所有的排序都將使用這個陣列) 第一輪比較:2 4 3 5
陣列排序演算法之氣泡排序
一、基本思想 氣泡排序的基本思想就是對比相鄰的元素值,如果滿足條件就交換元素值,把較小的元素移動到陣列的前面,把大的元素移動到陣列後面(也就是交換兩個元素的位置),這樣較小的元素就像氣泡一樣從底部上升
排序演算法之----氣泡排序,插入排序,選擇排序
1 氣泡排序 顧名思義:小的數一點一點向前冒,最終有序 public static void bubbleSort(int[] arr){ if(arr == null || arr.length <2){ return; } for(int i
排序演算法之氣泡排序
氣泡排序 顧名思義,氣泡排序直觀的意思是氣泡越大冒的越快:),對應到我們的列表中就是數字最大的先選出來,然後依次進行。例如 myList = [1,4,5,0,6],比較方式為: 相鄰的兩個數字先進行比較,也就是myList[0]和myList[1],發現不是"
Java經典排序演算法之氣泡排序(Bubble sort)
原理: 比較兩個相鄰的數,將大值交換到右邊,依次進行比較,直到排序完成圖解:以上圖片來源於百度Java實現: /** * java實現氣泡排序 */ private static int[] arrays={2,16,8,32,64,10
排序演算法之氣泡排序的思想以及Java實現
1 基本思想 設排序表長為n,從後向前或者從前向後兩兩比較相鄰元素的值,如果兩者的相對次序不對(A[i-1] > A[i]),則交換它們,其結果是將最小的元素交換到待排序序列的第一個位置,我們
php排序演算法之氣泡排序
目錄 一: 原理 二: 舉例說明 三: PHP程式碼實現氣泡排序 一: 原理 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。 (以下都是升序排列,即從小到大排列) 二: 舉例說明 $arr = array(6, 3, 8, 2
常見排序演算法之氣泡排序
常見排序演算法之氣泡排序 氣泡排序(Bubble Sort),是一種較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從小到大、首字母從A到Z)錯誤就把他們交換過來。 氣泡排序演算法的運作如下: 比較相鄰的元素。
Java排序演算法之氣泡排序和選擇排序
import java.util.Arrays; class Demo { public static void main(String[] args) { int
排序演算法之氣泡排序及其優化
定義:每一趟都是相鄰兩個元素進行比較,將小數放在前面,大數放在後面,最終一趟走完,最大的數也就跑到最後面了。 氣泡排序是常見的一種排序方法,比較簡單,容易理解,多用於教學(>﹏<) 最壞情況下時間複雜度:O(N^2) 。 比較次數是n(n-1)/2。 注
排序演算法之 氣泡排序 及其時間複雜度和空間複雜度
氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因
Java實現排序演算法之氣泡排序
氣泡排序的思想:將帶排序的序列兩兩進行比較,較大的一個“冒泡”,“冒泡”即如果下標為A 與B的資料比較,A 大則與B交換位置,否則就不交換位置,交換位置後,此時B的位置程式設計A,B 的下一個位置是B,兩者在進行比較,每進行一輪排序,總是較大的數排在剩下序列的最高位,也因此為
演算法:排序演算法之氣泡排序
排序算法系列目錄說明 氣泡排序(Bubble Sort) 插入排序(Insertion Sort) 希爾排序(Shell Sort) 選擇排序(Selection Sort) 快速排序(Quick Sort) 歸併排序(Merge Sort) 堆排序(Heap