21xrx.com
2024-12-22 23:50:08 Sunday
登录
文章检索 我的文章 写文章
C++语言实现冒泡排序代码
2023-06-26 19:01:21 深夜i     --     --
C++ 冒泡排序 代码

冒泡排序是一种较为简单的排序算法,也是学习数据结构和算法中第一个学习到的排序算法之一。在C++语言中,实现冒泡排序也是很简单的。

首先,我们需要明确什么是冒泡排序。冒泡排序的基本思想是:每次将相邻的两个元素进行比较,如果它们的顺序不符合排序的规则,就交换它们的位置。这样一轮下来,最大(或最小)的元素就会“冒泡”到数组的最后面;然后再进行下一轮比较,直到所有的元素都按照规则排序完成。

那么,如何在C++语言中实现冒泡排序呢?下面是一份基本的C++代码:


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

  for(int i=0; i<n; 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;

      }

    }

  }

}

上面的代码中,我们定义了一个bubbleSort函数来进行冒泡排序。bubbleSort接受两个参数:一个包含n个元素的整型数组arr,以及数组的长度n。

然后我们使用两个for循环来完成冒泡排序的操作。外层的for循环表示“轮数”,也就是我们需要进行比较和交换的次数。由于每一轮都能够将一个元素“冒泡”到正确的位置,所以我们最多只需要进行n-1轮即可完成排序。

内层的for循环用来进行相邻元素的比较。每轮中,我们需要比较n-i-1次相邻元素的大小,并根据排序规则进行位置的交换。

最后,我们可以在主函数中调用bubbleSort函数,来对一个整型数组进行排序:


int main() {

  int arr[] = 3;

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

  bubbleSort(arr, n);

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

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

  }

  return 0;

}

上面的代码会输出“1 2 3 4 5”,也就是我们对arr数组进行排序后得到的结果。

总结一下,使用C++语言实现冒泡排序算法非常简单,只需要掌握基本的C++语法和算法思想即可。当然,对于大规模的数据,冒泡排序的时间复杂度较高,不如更高效的排序算法(如快速排序、归并排序等)。

  
  

评论区

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