冒泡排序的原理及使用

  1. 冒泡排序的原理:对一行无序排列的数,从第一个数开始,依次与后一个数进行比较,若大(小)则与之交换位置,这样经过不停的交换,第一轮下来就能把最大(小)的数排到最右边。在进行上述操作,第二轮就能把第二大(第二小)的数排到倒数第二个位置上......以此类推,经过一轮又一轮的比较,就能把这一行无序排列的数,实现从小到大排序(从大到小排序)   由于这一过程像泡泡一样往外冒,故称之为冒泡排序。
  2. 代码实现:

    #include<stdio.h>
    void Bubble_sort(int c[],int size){
        int i,j,s;
        for(i=0;i<size-1;i++){//  size-1是因为每一轮都不用与自己比较
            for(j=0;j<size-1-i;j++){// size-1-i,是因为每一趟都会少一个比较的数
                if(c[j]>c[j+1]){
                    s=c[j+1];
                    c[j+1]=c[j];
                    c[j]=s;
                }
            }
        }
    }
    int main()
    {
        int arr[10];
        printf("输入10个数:") 
        
        for(int i=0;i<10;i++)
        {
            scanf("%d",&arr[i]);
        }
        
        printf("输出排序后的数:")
        
        Bubble_sort(arr,10);
        for(int i=0;i<10;i++)
        {
            printf("%d",arr[i]);
        }
        return 0;
     } 

     

  3. 冒泡函数中两个循环的解释:外层循环表示轮数,内层循环表示每一轮该数与其他数比较的次数

  4. 改代码实现从小到大排序,若要从大到小,则更改if语句就好了。
posted @ 2023-07-16 00:26  GooseY  阅读(240)  评论(0)    收藏  举报