码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-10-26 13:30:43      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:选择   nbsp   can   个数   交换   printf   scanf   数字   数列   


 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 }

 

 

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

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

 

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

标签:选择   nbsp   can   个数   交换   printf   scanf   数字   数列   

原文地址:http://www.cnblogs.com/xiaochige/p/5999673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!