21xrx.com
2024-05-20 13:01:05 Monday
登录
文章检索 我的文章 写文章
C++怎样实现从小到大的排序
2023-07-13 03:03:47 深夜i     --     --
C++ 排序 从小到大

C++是一门强大的编程语言,可以用来实现许多有用的算法和功能。在这篇文章中,我们将探讨如何使用C++来实现从小到大的排序。

排序是计算机科学中最基本的算法之一。它基本上是将一组数据按照一定的规则重新排列。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等等。在这里,我们将介绍两种常见的排序算法:冒泡排序和选择排序。

两种排序算法的主要区别是它们重新排列数据的方式。冒泡排序重复地遍历数组,比较相邻的两个元素,并将它们交换,直到数组排序完成。选择排序则在每次迭代中找到最小元素,并将其与数组的第一个元素交换。这样,数组的第一项就排好序了。然后,选择排序会重复这个过程,将剩余的元素排序。

下面是使用C++实现冒泡排序和选择排序的示例代码:

冒泡排序的示例代码:


void bubble_sort(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;

   }

  }

 }

}

选择排序的示例代码:


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

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

  int min_index = i;

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

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

    min_index = j;

   

  }

  int temp = arr[i];

  arr[i] = arr[min_index];

  arr[min_index] = temp;

 }

}

上面的两个函数都使用了一个int类型的数组和它的长度n作为它们的输入参数。这些函数都在原始数组上修改数据,所以我们不需要返回新的数组。

在使用这些函数时,我们只需要将要排序的数组和它的长度n传递给它们即可。下面是使用示例代码:


int main() {

 int arr[] = 2;

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

 bubble_sort(arr, n); // 对数组进行冒泡排列

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

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

 }

 std::cout << std::endl;

 selection_sort(arr, n); // 对数组进行选择排列

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

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

 }

 std::cout << std::endl;

 return 0;

}

在以上示例中,我们首先声明一个整数数组,并将一些值存储在数组中。然后,我们使用上面的两种排序函数对数组进行排序,输出排好序的数组。

在以上示例代码中,我们只展示了两种排序算法的单调递增版本,即从小到大的排序。如果我们想要从大到小排序,我们只需要将相应的比较运算符(>或<)改为相反的运算符即可。

总的来说,C++是一种非常适合实现排序算法的编程语言。不仅它提供了许多数据类型和算法库,而且它还有一个非常强大的STL库,可以轻松实现各种数据结构和算法。如果你正在学习C++,那么实现从小到大的排序算法是一个简单但挑战的项目,可以帮助你提高你的C++编程技能。

  
  
下一篇: C++ 远程控制

评论区

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