代码如下:
- #include
- void outArr(int arr[], int arrSize){
- for(int i = 0; i <arrSize; i++){
- printf("%d\t", arr[i]);
- }
- printf("\n");
- return;
- }
- void bubbleSort1(int arr[], int arrSize){
- int tmp = 0;
- for(int i = 0; i <arrSize; i++){
- for(int j = i + 1; j <arrSize; j++){
- if(arr[j - 1]> arr[j]){
- tmp = arr[j];
- arr[j] = arr[j - 1];
- arr[j - 1] = tmp;
- }
- //outArr(arr, arrSize);
- }
- }
- return;
- }
- void bubbleSort2(int arr[], int arrSize){
- int tmp = 0;
- for(int i = arrSize - 1; i>= 0; i--){
- for(int j = i + 1; j < arrSize; j++){
- if(arr[j - 1] < arr[j]){
- tmp = arr[j];
- arr[j] = arr[j - 1];
- arr[j - 1] = tmp;
- }
- //outArr(arr, arrSize);
- }
- }
- return;
- }
- int main(int argc, char **argv)
- {
- int arr[] = {23, 78, 66, 32, 45, 99, 87, 51};
- //int arr[] = {99, 87, 78, 66, 51, 45, 32, 23};
- int arrSize = sizeof(arr) / sizeof(int);
- outArr(arr, arrSize);
- bubbleSort1(arr, arrSize);
- outArr(arr, arrSize);
- bubbleSort2(arr, arrSize);
- outArr(arr, arrSize);
- return 0;
- }
一个是升序, 一个降序列
来源: http://www.bubuko.com/infodetail-3231660.html