代码如下:
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 }
一个是升序,一个降序列
原文:https://www.cnblogs.com/guochaoxxl/p/11639225.html