7-27 冒泡法排序

题目链接:7-27 冒泡法排序

一. 题目

1. 题目

2. 输入输出格式

3. 输入输出样例

4. 限制

二、代码

1. 代码实现

c 复制代码
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 数字初始化函数
int *arrayGet(int len) {
    int *array;
    array = malloc(len * sizeof(int));
    for (int i = 0; i < len; i++) {
        if (!scanf("%d", &array[i])) {
            return 0;
        }
    }
    return array;
}

// 冒泡排序
int *arraySort(int *array, int len, int time) {
    int tempNum;
    for (int tempTime = 0; tempTime < time; tempTime++) {
        for (int i = 0; i < len - 1; i++) {
            if (array[i] > array[i+1]) {
                tempNum     = array[i];
                array[i]    = array[i+1];
                array[i+1]  = tempNum;
            }
        }
        len --; // 下次排序的比较次数减1
    }
    return array;
}

// 打印函数
void arrayPrint(int *array, int len) {
    bool printOnce = false;
    while (len) {
        if (printOnce) {
            printf (" %d", *array);
        } else {
            printf ("%d", *array);
            printOnce = true;
        }
        array++;
        len--;
    }
}

int main(void) {
    int len, time;
    int *array;

    if (scanf("%d %d", &len, &time) != 2) {
        return -1;
    }
    array = arrayGet(len);
    if (!array) {
        return -1;
    }
    array = arraySort(array, len, time);
    arrayPrint(array, len);
    free(array);

    return 0;
}

2. 提交结果

相关推荐
charlie1145141913 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
handler013 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
三品吉他手会点灯8 小时前
STM32 VSCode 开发-C/C++的环境配置中,找不到C/C++: Edit Configurations选项
c语言·c++·vscode·stm32·单片机·嵌入式硬件·编辑器
三品吉他手会点灯8 小时前
C语言学习笔记 - 1.C概述 - 本讲内容概述
c语言·笔记·学习
水饺编程11 小时前
第5章,[标签 Win32] :获取设备环境的信息
c语言·c++·windows·visual studio
lhbian11 小时前
C++、C与易语言:编程语言对比解析
c语言·开发语言·c++
꧁细听勿语情꧂11 小时前
数据结构概念和算法、时间复杂度、空间复杂度引入
c语言·开发语言·数据结构·算法
小堃学编程12 小时前
【项目实战】基于protobuf的发布订阅式消息队列(4)—— 服务端
c语言·c++·vscode·消息队列·gtest·protobuf·muduo
三品吉他手会点灯12 小时前
C语言学习笔记 - 3. C概述 - C语言的起源和发展
c语言·笔记·学习
念恒1230613 小时前
进程概念(1)
linux·c语言