• 冒泡法和选择排序法(比较容易写混)



     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 }

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

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

  • 相关阅读:
    项目选题报告答辩总结
    项目UML设计(团队)
    项目选题报告答辩总结
    第七次作业
    结对第二次
    第四次作业
    alpha冲刺4
    alpha冲刺3
    alpha冲刺2
    alpha冲刺1
  • 原文地址:https://www.cnblogs.com/xiaochige/p/5999673.html
Copyright © 2020-2023  润新知