21xrx.com
2025-03-13 23:32:00 Thursday
登录
文章检索 我的文章 写文章
用C++实现起泡法排序
2023-06-22 06:05:17 深夜i     --     --
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++中可以很容易地实现。如果你想了解更多有关排序算法的知识,可以继续深入学习。

  
  

评论区

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