冒泡排序的记录

代码如下:

 1 #include <stdio.h>
 2 
 3 void outArr(int arr[], int arrSize){
 4         for(int i = 0; i < arrSize; i++){
 5                 printf("%d\t", arr[i]);
 6         }
 7         printf("\n");
 8 
 9         return;
10 }
11 
12 void bubbleSort1(int arr[], int arrSize){
13         int tmp = 0;
14         for(int i = 0; i < arrSize; i++){
15                 for(int j = i + 1; j < arrSize; j++){
16                         if(arr[j - 1] > arr[j]){
17                                 tmp = arr[j];
18                                 arr[j] = arr[j - 1];
19                                 arr[j - 1] = tmp;
20                         }
21                 //outArr(arr, arrSize);
22                 }
23         }
24 
25         return;
26 }
27 
28 void bubbleSort2(int arr[], int arrSize){
29         int tmp = 0;
30         for(int i = arrSize - 1; i >= 0; i--){
31                 for(int j = i + 1; j < arrSize; j++){
32                         if(arr[j - 1] < arr[j]){
33                                 tmp = arr[j];
34                                 arr[j] = arr[j - 1];
35                                 arr[j - 1] = tmp;
36                         }
37                 //outArr(arr, arrSize);
38                 }
39         }
40 
41         return;
42 }
43 
44 int main(int argc, char **argv)
45 {
46         int arr[] = {23, 78, 66, 32, 45, 99, 87, 51};
47         //int arr[] = {99, 87, 78, 66, 51, 45, 32, 23};
48         int arrSize = sizeof(arr) / sizeof(int);
49         outArr(arr, arrSize);
50         bubbleSort1(arr, arrSize);
51         outArr(arr, arrSize);
52         bubbleSort2(arr, arrSize);
53         outArr(arr, arrSize);
54 
55         return 0;
56 }

一个是升序,一个降序列

 1 #include <stdio.h>
 2   
 3 void bubbleSort(int arr[], int arrSize){
 4         int swap = 1;
 5         int tmp = 0;
 6         while(swap){
 7                 swap = 0;
 8                 for(int i = 0; i < arrSize; i++){
 9                         if(arr[i] > arr[i + 1]){
10                                 swap = 1;
11                                 tmp = arr[i];
12                                 arr[i] = arr[i + 1];
13                                 arr[i + 1] = tmp;
14                         }
15                 }
16         }
17 }
18 
19 void outArr(int arr[], int arrSize){
20         for(int i = 0; i < arrSize; i++){
21                 printf("%d\t", arr[i]);
22         }
23         printf("\n");
24 }
25 
26 int main(int argc, char **argv)
27 {
28         int arr[] = {23, 78, 66, 32, 45, 99, 87, 51};
29         int arrSize = sizeof(arr);
30         outArr(arr, arrSize);
31         bubbleSort(arr, arrSize);
32         outArr(arr, arrSize);
33 
34 
35         return 0;
36 }

 

posted @ 2019-10-09 07:11  叕叒双又  阅读(244)  评论(0编辑  收藏  举报