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

  • 相关阅读:
    最简单的图片轮播
    首页图片轮播效果
    windows简单杀死进程的批处理程序
    js实现无限级树形导航列表
    漂亮竖向菜单 有缓存 javascript
    竖向折叠二级导航JS代码(可防刷新ul/li结构)
    bzoj 1060: [ZJOI2007]时态同步【树形dp】
    bzoj 2733: [HNOI2012]永无乡【并查集+权值线段树】
    洛谷 P3952 时间复杂度【模拟】
    bzoj 2208: [Jsoi2010]连通数【tarjan+拓扑+dp】
  • 原文地址:https://www.cnblogs.com/wwhai/p/10269284.html
Copyright © 2011-2022 走看看