首页 > 代码库 > C语言 冒泡排序 递归法

C语言 冒泡排序 递归法

技术分享
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     
 6     void bubble(int *a,int n);
 7     
 8     int i,n,a[100];
 9     
10     printf("请输入数组中元素数量(不大于100个):");
11     scanf("%d",&n);
12     
13     for(;n<1||n>100;){
14         printf("元素数量超出范围,请重新输入:");
15         scanf("%d",&n);        
16     }printf("\n");
17     
18     for(i=0;i<n;i++){
19         printf("请输入元素a[%d]:",i);
20         scanf("%d",&a[i]);
21     }printf("\n");
22     
23     printf("您输入了以下元素:\n");
24     for(i=0;i<n;i++){
25         printf("%d ",a[i]);
26     }printf("\n\n");
27     
28     bubble(a,n);
29     
30     printf("递增排列为:\n");
31     for(i=0;i<n;i++){
32         printf("%d ",a[i]);
33     }printf("\n");
34     
35     system("pause");
36     return 0;
37 }
38 
39 void bubble(int *a,int n)
40 {
41     int i;
42     if(n==1){
43         return;
44     }
45     for(i=0;i<n-1;i++){
46         if(a[i]>a[i+1]){
47             int t=a[i];a[i]=a[i+1];a[i+1]=t;
48         }        
49     }
50     bubble(a,n-1);
51 }
View Code

 

C语言 冒泡排序 递归法