zoukankan      html  css  js  c++  java
  • 关于冒泡排序的改进

    1、原始冒泡排序

    /*冒泡排序后的顺序为从小到大*/

    void Bubble_Sort(int *arr,int len)
        {
            int i,j,exchange;
            for(i=0;i<len-1;i++)
               for(j=0;j<len-i-1;j++)
                  if(arr[j] > arr[j+1])
                    {
                        exchange = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = exchange;
                    }
    }

    2、改进的冒泡排序

    /*冒泡排序后的顺序为从小到大*/

    void Bubble_Sort(int *arr,int len)
    {
        int i,j,exchange;
        bool flag = true; //增设标志位,判断是否已经完成排序
        for(i=0; i<len-1 && flag; i++)
           {
                flag = false;
                for(j=0;j<len-i-1;j++)
                   if(arr[j] > arr[j+1])
                     { //如果本趟比较没有数据发生交换,说明排序已经完成
                       //则flag一直为false,从而退出循环,不再进行下一趟的比较
                          exchange = arr[j];
                          arr[j] = arr[j+1];
                          arr[j+1] = exchange;
                          flag = true;
                     }
          }
    }

    3、测试

    #include<stdio.h>
    #include<stdlib.h>

    /*将上面的函数放在这里*/

    int main()
       {
            int num;
            printf("请输入排序的元素的个数:");
            scanf("%d",&num);

            int i;
            int *arr = (int *)malloc(num*sizeof(int));
            printf("请依次输入这%d个元素(必须为整数):",num);
            for(i=0;i<num;i++)
               scanf("%d",arr+i);

            printf("冒泡排序后的顺序:");
            Bubble_Sort(arr,num);
            for(i=0;i<num;i++)
               printf("%d ",arr[i]);
            printf(" ");

            free(arr);
            arr = 0;
            return 0;
    }

  • 相关阅读:
    「国庆训练」Bomb(HDU-5934)
    「题目代码」P1049~P1053(Java)
    「日常训练」Case of Matryoshkas(Codeforces Round #310 Div. 2 C)
    「日常训练」ZgukistringZ(Codeforces Round #307 Div. 2 B)
    「专题训练」Air Raid(HDU-1151)
    「专题训练」Machine Schedule(HDU-1150)
    「日常训练」Girls and Boys(HDU-1068)
    「Python」conda与pip升级所有的包
    「赛后补题」Meeting(HDU-5521)
    通过button将form表单的数据提交到action层
  • 原文地址:https://www.cnblogs.com/wwhai/p/10269284.html
Copyright © 2011-2022 走看看