zoukankan      html  css  js  c++  java
  • 冒泡法,改进冒泡法排序和反序算法

     

    #include <stdio.h>

     

    int sort_bubble(int arr[],int len);

    int sort_bubblemod(int arr[],int len);

    int reverse_half(int arr[],int len);

    void main()

    {

         //int num[10]={3,8,9,2,5,7,6,0,4,1};

         int num[10]={0,1,2,3,4,5,6,7,8,9};

     

         for (int i=0;i<10;i++)

         {

             printf("%d/t",num[i]);

         }

         int cnt;

         //cnt=sort_bubble(num,10);

         //cnt=sort_bubblemod(num,10);

         cnt=reverse_half(num,9);

         printf("交换次数:%d/n",cnt);

         for (i=0;i<10;i++)

         {

             printf("%d/t",num[i]);

         }

     

         //printf("Hello World");

         char a;

         scanf(&a);

    }

     

    int sort_bubble(int arr[],int len)

    {

         int cnt=0;

         for(int i=0;i<len-1;i++)

         {

             for(int j=i+1;j<len;j++)

             {

                  int tmp;

                  if(arr[j]>arr[i])

                  {

                       tmp=arr[j];

                       arr[j]=arr[i];

                       arr[i]=tmp;

                       cnt++;

                  }

             }

         }

         return cnt;

    }

     

    int sort_bubblemod(int arr[],int len)

    {

         int cnt=0;

         int tmp;

         for(int i=0;i<len-1;i++)

         {

             int k=i;

     

             for (int j=i+1;j<len;j++)

             {

                  if(arr[j]>arr[k])

                  {

                       k=j;

                  }

             }

     

             if(k!=i)

             {

                  tmp=arr[i];

                  arr[i]=arr[k];

                  arr[k]=tmp;

                  cnt++;

             }

         }

         return cnt;

    }

     

    int reverse_half(int arr[],int len)

    {

         int cnt=0;

         int tmp;

         for(int i=0;i<len/2;i++)

         {

             tmp=arr[i];

             arr[i]=arr[len-i-1];

             arr[len-i-1]=tmp;

             cnt++;

         }

         return cnt;

    }

  • 相关阅读:
    不要轻易相信ALV
    什么是SAP Note?如何打SAP Note?
    BW作为源系统连接时,激活DSO或其他模型时提示8*数据源不存在,无法激活
    MDX Parser问题导致BO无法连通BW的解决方案
    BW中跳转报表参数传递
    SD、MM转换BI CONTENT激活错
    如何加载经过许可的第三方断字符
    把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘
    tsql 调用作业
    SQL Server 2005 维护计划无法保存
  • 原文地址:https://www.cnblogs.com/oyjj/p/2132972.html
Copyright © 2011-2022 走看看