首页 > 代码库 > 冒泡法和选择排序法(比较容易写混)
冒泡法和选择排序法(比较容易写混)
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 }
冒泡法是实现两两比较大小,然后实现最大最小在特定位置。
选择法是数列的一个数和奇然数字比较交换。
冒泡法和选择排序法(比较容易写混)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。