演算法學習之氣泡排序的C實現

2022-01-24 23:44:55 字數 852 閱讀 2419

氣泡排序是屬於比較類的排序方式,簡單易懂,但是效率不是很高,不及快排。

#include "

stdio.h

"#include

"time.h

"void bubble(int *a,int len);//

排序

void swap(int *p1,int *p2);//

交換數值

intmain()

;

int length = sizeof(a)/sizeof(int);//

求陣列長度

printf(

"原序列為:");

for(int i=0;i)

bubble(a,length);

printf(

"\n氣泡排序後:");

for(int i=0;i)

printf("\n

");finish=clock();

totaltime=(double)(finish-start)/clocks_per_sec;

printf(

"\n程式執行的時間為: %.5f 秒\n

",totaltime);

}void swap(int *p1,int *p2)//

注意交換數值函式,呼叫時傳入引數是位址,實際就是交換兩數值的位址

void bubble(int *a,int len)//

陣列名表示陣列第乙個元素的位址,所以用int *a }}

實現結果:

演算法學習之氣泡排序

基本思想 陣列 6,5,7,3,8,2 按從公升序排列。依次比較相鄰的兩個數,前乙個數比後乙個數大則交換位置,得到最大的數在最後。第一輪比較完後的結果為 5,6,3,7,2,8 第二輪比較得出倒數第二的數字 5,3,6,2,7,8 依次類推 package com.example.demo.othe...

演算法學習之氣泡排序

氣泡排序 bubblesort 迴圈遍歷要排序的元素,依次比較相鄰的兩個元素,如果他們的順序錯誤就把他們交換位置。每一次迴圈遍歷,直到陣列的末尾。因為越大的元素會經過交換到陣列的前端 公升序或降序排列 整個過程就像氣泡最終會上浮到頂端一樣,稱之為 氣泡排序 原理步驟 1 比較相鄰的兩個元素。如果第乙...

演算法學習之氣泡排序法

sub bubblesorted dim k as integer randomize with worksheets sheet1 for k 1 to 100 cells k,1 int rnd 10 1 在第一列生成100個隨機整數 next for i 1 to 99 for j i 1 t...