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;
    }

  • 相关阅读:
    使用SVG symbols建立图标系统完整指南
    ural 1874 Football Goal
    ural 1572 Yekaterinozavodsk Great Well
    ural 1084 Goat in the Garden
    ural 1192 Ball in a Dream
    ural 1020 Rope
    ural 1494 Monobilliards
    ural 1671 Anansi's Cobweb
    ural 1613 For Fans of Statistics
    ural 1126 Magnetic Storms
  • 原文地址:https://www.cnblogs.com/wwhai/p/10269284.html
Copyright © 2011-2022 走看看