21xrx.com
2025-03-13 23:56:06 Thursday
登录
文章检索 我的文章 写文章
C++选择排序与冒泡排序
2023-07-06 06:55:07 深夜i     --     --
C++ 选择排序 冒泡排序

C++是一门非常流行的编程语言,被广泛应用于各种领域,包括软件开发、游戏开发等。在C++语言中,排序算法是非常重要的部分。本文将介绍C++中两种常见的排序算法:选择排序和冒泡排序。

选择排序是一种简单直观的排序算法,它的基本思想是将一个无序的序列排序成一个有序的序列。选择排序的过程是这样的:首先在未排序的序列中找到最小(或最大)的元素,然后将其存放到序列的起始位置;接着,再从剩余的未排序元素中寻找最小(或最大)的元素,然后放到已排序序列的末尾。以此类推,直到所有元素排序完毕。

下面是选择排序的C++代码实现:


void selectionSort(int arr[], int n)

{

  int i, j, min_idx;

  // 循环找到最小元素并将其交换到起始位置

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

  {

    min_idx = i;

    for (j = i+1; j < n; j++)

    if (arr[j] < arr[min_idx])

      min_idx = j;

    swap(&arr[min_idx], &arr[i]);

  }

}

冒泡排序是另外一种常见的排序算法,其基本思想是将大的元素往后移,小的元素往前移,以得到一个有序的序列。在冒泡排序中,相邻元素会相互比较,如果他们的顺序不对,则交换他们的位置。

下面是冒泡排序的C++代码实现:


void bubbleSort(int arr[], int n)

{

  int i, j;

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

  {

    // last i elements are already sorted

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

    {

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

        swap(&arr[j], &arr[j+1]);

    }

  }

}

在上述代码中,我们使用了一个嵌套循环来实现冒泡排序。在外循环中,我们遍历数组中所有元素,而在内循环中,我们依次比较相邻元素的大小。

综上所述,选择排序和冒泡排序是C++编程中常见的排序算法,它们都有着简单直观的思想和实现方法。在实际的编程中,我们可以根据具体的需求选择合适的算法,以实现快速高效的排序。

  
  

评论区

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