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

Posted 菜鸟根据地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡法和选择排序法(比较容易写混)相关的知识,希望对你有一定的参考价值。


 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:\n");
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:\n");
22     for(i=1;i<6;i++)
23     {
24         printf("%4d",s[i]);
25     }
26     printf("\n");
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 }

 

 

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

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

 

以上是关于冒泡法和选择排序法(比较容易写混)的主要内容,如果未能解决你的问题,请参考以下文章

基于python语言的经典排序法(冒泡法和选择排序法)

关于Java中的选择排序法和冒泡排序法

冒泡排序法和字符串

C++实现冒泡排序和选择排序算法

什么是冒泡法?[详细的讲下]

c语言冒泡排序法代码一直排序错误,有时只能排前两个,不明白原因,请问究竟哪里写错了,谢谢!