冒泡排序 思想:
每次比較相鄰的元素,如果它們的順序不是你想要的就把它們交換過(guò)來(lái),
冒泡排序 原理:
每趟排序只能確定將一個(gè)數(shù)排好順序。第一趟只能確定將末位上的數(shù)(即最后一位)歸位,第二趟只能將倒數(shù)第2位歸位。第三趟職能將倒數(shù)第3位歸位。一定要記得最后一次(如果是n個(gè)數(shù)排序->n-1次)必須是將第一個(gè)和第二個(gè)進(jìn)行最后一次排序哦。如果有n個(gè)數(shù)進(jìn)行排序,只需將n-1個(gè)數(shù)歸位,也就是說(shuō)要進(jìn)行n-1趟操作。每一趟都要從第1位開(kāi)始進(jìn)行相鄰數(shù)的比較,將較小的一個(gè)數(shù)放在后面,比較完畢后向后挪一位繼續(xù)比較下面兩個(gè)相鄰數(shù)的大小,重復(fù)此步驟,直到最后一個(gè) 尚未歸位的數(shù),已經(jīng)歸位的數(shù)則無(wú)需比較!
代碼如下
int main (int arg, const car * arg[])
{
?int a[20],n,i,j,t;
scans("%d",&n);//輸入n個(gè)數(shù)
for(i=1,i<=n;i++){
scans("%d",a[I]);//給數(shù)組賦初值
}
for (i=1;i<=n-1;i++)//n個(gè)數(shù)排序,
{
for(j=1,j<=n-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j],a[j]=a[j+1];a[j+1]=t
}
}
//排好了