C双向冒泡排序算法

同事考研遇到的数据结构题:

题目:冒泡排序算法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉),请给出上浮和下沉过程交替的冒泡排序算法。

为了减少重复代码,设置了变量step在1、-1间变化,来控制正向或反向冒泡。

//
//  main.cpp
//  双向冒泡算法
//  Created by 家齐 on 2018/11/10.
//
#include 
void PrintArray(int *a, int n){
    for (int i=0; i0; k--){
        for (j=0; j

打印结果如下:

4 5 3 2 1 
4 3 5 2 1 
4 3 2 5 1 
4 3 2 1 5 

4 3 1 2 5 
4 1 3 2 5 
1 4 3 2 5 

1 3 4 2 5 
1 3 2 4 5 

1 2 3 4 5 

你可能感兴趣的:(C双向冒泡排序算法)