21xrx.com
2025-03-29 14:10:13 Saturday
文章检索 我的文章 写文章
用C++实现起泡法排序
2023-06-22 06:05:17 深夜i     15     0
C++ 起泡法 排序 算法 数组

起泡法排序是一种简单但常用的排序算法。在这个算法中,通过比较相邻的元素,将最大的元素交换到右侧,最小元素交换到左侧,从而完成排序。在C++中,这个算法可以很容易地实现。

要实现起泡法排序,需要定义一个数组来存储待排序的数据。然后,用两个循环来完成排序。第一个循环用于控制排序的次数。具体来说,如果数组有n个元素,则需要进行n-1轮的排序。每轮排序完成后,最右侧的元素就会排好序,因此,下一轮可以将最右侧的元素排除在外。

在排序的过程中,第二个循环用于比较相邻的元素。如果当前元素比下一个元素大,则交换它们的位置。这样做可以确保每轮排序中最大的元素被交换到了最右侧。

下面是一个使用C++实现起泡法排序的例子:

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        int temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
}
int main() {
  int arr[] = 3 ;
  int n = sizeof(arr) / sizeof(arr[0]);
  bubbleSort(arr, n);
  cout << "Sorted array: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

在这个例子中,我们首先定义了一个数组arr来存储待排序的数据。然后,我们使用bubbleSort函数来实现排序,它接受两个参数:待排序数组以及数组长度。在函数中,我们使用两个嵌套循环来实现排序。第一个循环用于控制排序的次数,第二个循环用于比较相邻的元素并交换它们的位置。

在主函数中,我们使用sizeof关键字来获取数组的长度。然后,我们调用bubbleSort函数来进行排序,并使用循环打印排好序的数组。

总的来说,起泡法排序是一种简单但常用的排序算法,在C++中可以很容易地实现。如果你想了解更多有关排序算法的知识,可以继续深入学习。

  
  

评论区

    相似文章
请求出错了