C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。那麼C語言的.冒泡排序方法是怎樣的呢?以下僅供參考!
具體方法如下:
#include
void maopao(int a[],int n);//函數的聲明 (你有一雙手)
int main()
{//數組是用來存儲一堆相同數據類型的數據
int a[10]={77,9,86,666,34,23,16,2,87,40};//放着10個整數
maopao(a,10);//函數的調用(你爸爸有100萬,兒子幫你數一下錢)
return 0;
}
void maopao(int a[],int n)//函數的實現(你的手可能用來數錢)//10
{
int j,tmp,k,p=0;
int i=n-1;//初識時,最後的位置保持不變 9
while(i>0)//i=9,i永遠都會大於0
{
int pos=0;//每一次循環開始計算,無記錄交換 主要是一個標記作用
for(j=0;j<i;++j)//從0-8
if(a[j]<a[j+1])//兩兩做比較 如:a[j]=10 a[j+1]=5
{//如果這個if語句永遠都不成立,意味着pos永遠都等於0
pos=j;
tmp=a[j];//tmp=10
a[j]=a[j+1];//a[j]=5
a[j+1]=tmp;//a[j+1]=10
}
i=pos;//爲下一次比較做好準備
for(k=0;k<10;k++)
printf("%5d",a[k]);
printf("");
++p;
}
printf("共運行%d次",p);
}