C语言嵌套for循环实现冒泡排序

使用嵌套for循环实现冒泡排序的一个函数。

#include<stdio.h>
/**
 * 介绍:
 * 使用嵌套for循环实现冒泡排序,由小到大(上小下大)。
 * 参数:
 * sum[]:整型数组
 * number:数组长度
 * 补充:
 * C语言中数组名作为参数的传递方法为值传递,即不需要返回值,直接改动原参内容。
 * 作者:
 * 路人甲
 * */
void maoPao(int sum[], int number) {

    /*
    //大的数往下冒,然后不考虑下面的
    for (int i = 0; i < number - 1; i++) {
        for (int j = 0; j < number - 1 - i; j++) {
            if (sum[j] > sum[j + 1]) {    //此处若将 > 改成 < ,即可将排序变为由大到小
                int temp = sum[j];
                sum[j] = sum[j + 1];
                sum[j + 1] = temp;
            }
        }
    }
     */
    //小的数往上冒,然后不考虑上面的
    for (int i = 0; i < number - 1; i++) {
        for (int j = number - 2; j >= i; j--) {
            if (sum[j] > sum[j + 1]) {    //此处若将 > 改成 < ,即可将排序变为由大到小
                int temp = sum[j];
                sum[j] = sum[j + 1];
                sum[j + 1] = temp;
            }
        }
    }
}
/**
 * 函数介绍:
 * 程序入口。
 */
int main() {
    int sum[]={1,7,42,32,11,79,53,12};
    maoPao(sum,8);
    for(int i=0;i<8;i++){
        printf("%d\n",sum[i]);
    }
    return 0;
}

程序运行结果:

posted @ 2020-03-03 13:52  在博客做笔记的路人甲  阅读(744)  评论(0编辑  收藏  举报