冒泡排序

为了方便说明

 

定义数组:int array[10]={4,2,6 ,9 ,22,1,100};

冒泡排序的过程如下:

 

第一次冒泡:

 

将第一个数4与第二个数2比较,4>2则位置不变,再将第二个数2与第三个数6进行比较,

 

2<6,则将2与6交换位置。以此类推,2<9,2与9交换位置,2<22,2与22交换位置,2>1,

 

则位置不变,1<100,则1与100交换位置。


此趟结束后数组为{4,6,9,22,2,100,1}

 

第二次冒泡:

 

将4与6进行比较,4<6,交换位置,4<9交换位置,4<22交换位置,4>2,位置不变,

 

2<100交换位置,2>1位置不变


此趟结束后数组为{6,9,22,4,100,2,1}

 

第三次冒泡:

 

将6与9比较,6<9交换位置,6<22交换位置,6>4位置不变,4<100交换位置,4>2位置不变,

 

2>1位置不变


此趟结束后数组为{9,22,6,100,4,2,1}

 

第四次冒泡:

 

将9与22比较,9<22交换位置,9>6位置不变,6<100交换位置,此后位置不变。


此趟结束后数组为{22,9,100,6,4,2,1}

 

第五次冒泡:

 

22与9比较位置不变,9与100比较,交换位置,此后位置不变。


此趟结束后数组为{22,100,9,6,4,2,1}

 

第六次冒泡:

 

22与100比较,交换位置,此后位置不变。


此趟结束后数组为{100,22,9,6,4,2,1}

 

#n为数组长度

 

其实现代码为

 

int i,j,t;

 

int a[n];


 

for( i=0;i<n-1;i++)

{

 

   for( j=0;j<n-i-1;j++)

 

  {

 

    if(a[j]>a[j+1])

 

      {

 

        t=a[j];

 

        a[j]=a[j+1];

 

        a[j+1]=t;

 

      }

 

  }

 

}

 好了,冒泡排序就说到这里,这样的分析应该来说还是比较容易理解的!

 

posted @ 2008-12-09 21:29  dwwwing  阅读(1057)  评论(1编辑  收藏  举报