C语言复习数据结构之冒泡排序

版权声明:转载请通知,复制请通知 如有兴趣欢迎加群:653460549 - Java资源分享 https://blog.csdn.net/qq_42038407/article/details/82666398

冒泡排序其实就是一直交换直到与前一个数值大小关系正确为止

原数组:1,3,0,2

排序状态为:

    1:4321-》3421》3241-》2341-》2314-》2134-》1234

代码:

void bubbleSortUp(int array[], int length){
    int i, j;     //定义循环变量
    for(i = 1; i < length; i++){    //外层循环
        j = i;    //第i个值的小标

        while(j > 0 && array[j] < array[j - 1]){  帮助第i个值找到正确位置
            int temp = array[j];
            array[j] = array[j - 1];
            array[j - 1] = temp;
            j--;
        }
    }
}

检测函数:

int main() {
    int array[10] = {9,0,8,1,7,2,6,3,4,5};

    bubbleSortUp(array, 10);

    for(int i = 0; i < 10; i++){
        printf("%d\n", array[i]);
    }
}

输出结果:

猜你喜欢

转载自blog.csdn.net/qq_42038407/article/details/82666398