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;

    }

  • 相关阅读:
    第2章安装和升级MySQL
    1.7.3.4 ENUM和SET约束
    1.7.3.3对无效数据的强制约束
    1.7.3.2外部关键约束
    跨浏览器的事件处理程序-读书笔记
    表单-读书笔记
    【小知识点】一条线的居中问题
    函数表达书-读书笔记
    原型链-读书笔记
    面向对象(三)-读书笔记
  • 原文地址:https://www.cnblogs.com/oyjj/p/2132972.html
Copyright © 2011-2022 走看看