- 相關(guān)推薦
C語(yǔ)言的冒泡排序方法
C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。那么C語(yǔ)言的冒泡排序方法是怎樣的呢?以下僅供參考!
具體方法如下:
#include
void maopao(int a[],int n);//函數(shù)的聲明 (你有一雙手)
int main()
{//數(shù)組是用來(lái)存儲(chǔ)一堆相同數(shù)據(jù)類型的數(shù)據(jù)
int a[10]={77,9,86,666,34,23,16,2,87,40};//放著10個(gè)整數(shù)
maopao(a,10);//函數(shù)的調(diào)用(你爸爸有100萬(wàn),兒子幫你數(shù)一下錢)
return 0;
}
void maopao(int a[],int n)//函數(shù)的實(shí)現(xiàn)(你的手可能用來(lái)數(shù)錢)//10
{
int j,tmp,k,p=0;
int i=n-1;//初識(shí)時(shí),最后的位置保持不變 9
while(i>0)//i=9,i永遠(yuǎn)都會(huì)大于0
{
int pos=0;//每一次循環(huán)開始計(jì)算,無(wú)記錄交換 主要是一個(gè)標(biāo)記作用
for(j=0;j<i;++j)//從0-8
if(a[j]<a[j+1])//兩兩做比較 如:a[j]=10 a[j+1]=5
{//如果這個(gè)if語(yǔ)句永遠(yuǎn)都不成立,意味著pos永遠(yuǎn)都等于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;//為下一次比較做好準(zhǔn)備
for(k=0;k<10;k++)
printf("%5d",a[k]);
printf(" ");
++p;
}
printf("共運(yùn)行%d次",p);
}
【C語(yǔ)言的冒泡排序方法】相關(guān)文章:
經(jīng)典c語(yǔ)言冒泡排序法08-08
C語(yǔ)言快速排序?qū)嵗a06-04
C語(yǔ)言中使用快速排序算法對(duì)元素排序的實(shí)例03-18
c語(yǔ)言的記憶方法指導(dǎo)11-09