21xrx.com
2024-09-19 23:58:57 Thursday
登录
文章检索 我的文章 写文章
C++语言实现冒泡算法
2023-07-13 08:10:48 深夜i     --     --
C++ 冒泡算法 实现

冒泡排序是计算机程序中最经典的排序算法之一,它使用循环遍历数组来找出最大值,并将其移至数组的末端。如果数组是按升序排列的,则此操作需要多次重复,直到所有数字都按正确顺序排列。虽然冒泡排序不是最快的排序算法,但它简单易懂,在编程初学者和算法初学者中非常受欢迎。本文将介绍如何使用C++语言实现冒泡算法。

首先,我们需要一个包含要排序数字的数组。在本例中,我们使用一个简单的整数数组,并为其分配了一些初始值:


int main()

{

  int myArray[] = 5;

}

下一步是编写冒泡排序函数。该函数应该接收一个数组,并使用循环遍历该数组,在每个遍历中比较相邻的数字,并在必要时交换它们。以下是我们实现的C++函数:


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])

      {

        int temp = arr[j];

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

        arr[j + 1] = temp;

      }

    }

  }

}

该函数有两个参数:一个整数数组和数组的大小(n)。第一个for循环用于遍历数组,并检查当前的数字是否大于相邻的数字。如果是,它会交换这两个数字。由于每个遍历都会将最大的数字移到数组的末端,因此每个遍历的内循环会减少一次,以避免比较已经排序好的数字。

最后,我们在main函数中调用我们的bubbleSort函数来排序我们的数组,并输出结果:


int main()

{

  int myArray[] = 4;

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

  bubbleSort(myArray, n);

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

  {

    cout << myArray[i] << " ";

  }

  return 0;

}

以上代码会输出排好序的数组:


1 2 3 4 5 6 7 8

C++的冒泡算法虽看似简单,但在实际开发中却有其实际价值。学习这个算法是帮助初学编程者建立对计算机程序内部运行方式的基本理解的一种绝佳方式。即使不需要对大量数据进行排序,学习冒泡算法的知识也会在日后的编程实践中给予帮助。

  
  

评论区

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