zoukankan      html  css  js  c++  java
  • 冒泡法和选择排序法(比较容易写混)


     1 #include<stdio.h>
     2 
     3 
     4 //冒泡排序法
     5 
     6 void bubbling(int a[],int n);
     7 
     8 //选择排序法
     9 void choose(int a[],int n);
    10 int main()
    11 {
    12     int i;
    13     int s[6];
    14     printf("please enter five numbers:
    ");
    15     for(i=1;i<6;i++)
    16     {
    17         scanf("%d",&s[i]);
    18     }
    19 //    bubbling(s,5);
    20     choose(s,5);
    21     printf("after number:
    ");
    22     for(i=1;i<6;i++)
    23     {
    24         printf("%4d",s[i]);
    25     }
    26     printf("
    ");
    27 }
    28 
    29 void choose(int a[],int n)
    30 {
    31     int x,y;
    32     int iTemp;
    33     for(x=1;x<n;x++)
    34     {
    35         for(y=n;y>=x+1;y--)//前一个数和后一个数的比较。为选择排序法。
    36         {
    37             if(a[x]>a[y])
    38             {
    39                 iTemp=a[x];
    40                 a[x]=a[y];
    41                 a[y]=iTemp;
    42             }
    43         }
    44     }
    45 }
    46 
    47 void bubbling(int a[],int n)
    48 {
    49     int i,j;
    50     int iTemp;
    51     for(i=1;i<n;i++)
    52     {
    53         for(j=i;j<n;j++)
    54         {
    55             if(a[j]>a[j+1])//每次两两比较,这才是冒泡法
    56             {
    57                 iTemp=a[j];
    58                 a[j]=a[j+1 ];
    59                 a[j+1]=iTemp;
    60             }
    61         }
    62     }
    63 }

    冒泡法是实现两两比较大小,然后实现最大最小在特定位置。

    选择法是数列的一个数和奇然数字比较交换。

  • 相关阅读:
    buf.readUInt8()
    buf.readUIntBE()
    buf.readInt32BE()
    buf.readInt16BE()
    buf.readInt8()
    buf.readDoubleBE()
    buf.readFloatBE()
    buf.readIntBE()
    POJ
    【C#】C#托付和事件的实例解说
  • 原文地址:https://www.cnblogs.com/xiaochige/p/5999673.html
Copyright © 2011-2022 走看看