21xrx.com
2024-12-22 17:02:15 Sunday
登录
文章检索 我的文章 写文章
冒泡排序C++代码
2023-07-05 01:49:04 深夜i     --     --
冒泡排序 C++ 代码

冒泡排序是一种基本的排序算法,其原理是通过两个相邻的元素之间的比较和交换来将序列中最大的元素逐步地移到序列的末尾。下面是使用C++语言实现冒泡排序的代码。

//Bubble Sort Algorithm in C++

#include

using namespace std;

void bubbleSort(int arr[], int n) {

 int i, j;

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

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

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

    //swap arr[j] and arr[j+1]

    int temp = arr[j];

    arr[j] = arr[j+1];

    arr[j+1] = temp;

   }

  }

 }

}

int main() {

 int arr[] = 11;

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

 bubbleSort(arr, n);

 cout << "Sorted array using bubble sort: \n";

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

  cout << arr[i] << " ";

 }

 return 0;

}

以上代码首先定义了一个名为bubbleSort的函数,该函数接受一个整数数组和数组中元素的数量作为参数。函数中使用了两个嵌套的for循环,外层循环用来遍历数组中的元素,内层循环则用来比较相邻的元素并交换它们的位置。在交换元素的过程中,使用了一个名为temp的临时变量来临时存储要交换的元素。

在main函数中,我们初始化了一个示例数组arr,并计算出了其大小n。然后我们调用bubbleSort函数对数组进行排序。最后,我们使用一个简单的for循环来输出排序后的数组。

冒泡排序虽然简单易懂,但其时间复杂度为O(n^2),效率较低,仅适用于小型的数据集排序,不适用于大型数据排序。此外,该算法比较稳定,也不会破坏相同元素之间的相对顺序。但是当有两个相同元素相邻时,冒泡排序无法保证它们的相对顺序,这使得其无法满足某些特定的排序需求。因此,在实际的开发中,需要根据不同的需求选择不同的排序算法。

  
  

评论区

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