C++数组冒泡排序(指针)
发布日期:2021-05-14 16:25:17 浏览次数:19 分类:精选文章

本文共 1140 字,大约阅读时间需要 3 分钟。

题目

封装一个函数,利用冒泡排序实现对整型数组的升序排序

过程

#include 
using namespace std;
void bubbleSort(int* arr, int length) {
for(int i = 0; i < length - 1; ++i) {
for(int j = 0; j < length - i - 1; ++j) {
int temp;
if(arr[j+1] < arr[j]) {
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
void printArray(int* arr, int length) {
for(int i = 0; i < length; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr[10] = {4, 3, 6, 9, 1, 2, 10, 8, 7, 5};
int length = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, length);
printArray(arr, length);
return 0;
}

以上代码展示了一个利用冒泡排序对整型数组进行升序排序的实现。以下是具体实现过程及代码解释:

  • 函数声明与实现
    • void bubbleSort(int* arr, int length):主要功能是对数组arr进行冒泡排序排序。
    • 排序逻辑:内层循环for(int j = 0; j < length - i - 1; ++j)遍历数组查找相邻较小的元素。
    • 当发现arr[j+1]小于arr[j]时,交换两者的位置。
    • 不断外层循环直至整个数组排序完成。
    1. 数组输出函数
      • void printArray(int* arr, int length):用于打印排序后的数组内容。
      1. 主函数执行流程
        • 初始化数组arr为{4, 3, 6, 9, 1, 2, 10, 8, 7, 5}。
        • 计算数组长度为sizeof(arr) / sizeof(arr[0])
        • 调用bubbleSort函数排序数组。
        • 调用printArray函数输出结果。
    上一篇:【ARM自学笔记】ARM7时钟简述及配置
    下一篇:【ARM自学笔记】按键蜂鸣器(裸机)

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月30日 08时01分30秒