冒泡排序的记录

为君一笑 提交于 2019-11-30 20:33:01

代码如下:

 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 }

一个是升序,一个降序列

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!