21xrx.com
2024-12-22 23:30:35 Sunday
登录
文章检索 我的文章 写文章
C++实现数组冒泡排序算法
2023-06-27 09:48:40 深夜i     --     --
C++ 数组 冒泡排序 算法

数组冒泡排序算法是一种简单但有效的排序方法,能够对数组进行升序或降序排序。C++作为一种高效的编程语言,可以很容易地实现该算法。

冒泡排序算法的基本思想是:通过比较相邻的元素,将较大或较小的元素交换到需要的位置。如此重复,直到整个数组有序。

下面给出C++实现数组冒泡排序算法的代码:


void bubble_sort(int arr[], int len) {

  for (int i = 0; i < len - 1; ++i) {

    for (int j = 0; j < len - i - 1; ++j) {

      if (arr[j] > arr[j + 1]) {

        swap(arr[j], arr[j + 1]); //交换两个元素

      }

    }

  }

}

在该代码中,`bubble_sort`函数接受一个整数数组和数组的长度作为参数,实现了冒泡排序算法。排序过程中,`i`表示排序的趟数,`j`表示每一趟中比较的元素下标。如果相邻元素不满足排序要求,则交换两个元素的位置。

对于数组,我们可以使用`for`循环来遍历其中的元素,并使用`cout`语句输出每个元素的值。我们还可以使用`cin`语句从键盘读入数组的值,并使用`sizeof`函数获取数组的长度。


//输出数组元素

void print_arr(int arr[], int len) {

  for (int i = 0; i < len; ++i) {

    cout << arr[i] << ' ';

  }

  cout << endl;

}

//读入数组元素

void input_arr(int arr[], int len) {

  for (int i = 0; i < len; ++i) {

    cin >> arr[i];

  }

}

int main() {

  int arr[] = 4 ;

  int len = sizeof(arr) / sizeof(arr[0]);

  bubble_sort(arr, len);

  print_arr(arr, len);

  return 0;

}

在上述代码中,`main`函数初始化一个整数数组,调用`bubble_sort`函数将数组升序排序,并调用`print_arr`函数输出排序后的数组。该程序的输出结果如下:


3 4 5 6 8

通过以上代码和实现,我们可以清楚地了解到如何在C++中实现数组冒泡排序算法。这种排序算法虽然简单,但是在一些小型的数据排序问题中,它的实现十分方便和有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复