21xrx.com
2024-12-23 01:20:19 Monday
登录
文章检索 我的文章 写文章
C++编程:排序实现
2023-07-01 05:51:43 深夜i     --     --
C++编程 排序 实现

C++编程语言是一种高效的编程语言,广泛应用于算法、数据结构和程序设计等领域。其中一种常见的算法就是排序,它可以对一组数据按照规定的顺序进行排列。

在C++中实现排序主要有两种方法:使用STL库和手动编写排序算法。

STL库是C++中的标准模板库,其中包含了各种数据结构和算法,包括排序算法。STL库实现排序非常简单,只需在程序中引入头文件#include ,并使用sort函数即可完成。例如,以下代码可以将一个数组按照从小到大的顺序进行排序:


#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

  int arr[] = 5 ;

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

  

  sort(arr, arr + n);

  

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

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

  

  return 0;

}

以上程序中,sort(arr, arr + n)即执行了排序操作,其中,arr和arr + n是数组的首地址和尾地址。cout << arr[i] << " "即输出已排序的数组。

除了使用STL库,手动编写排序算法也是一种常用的方法。常见的手动排序算法有快速排序、归并排序和选择排序等。以下是一个使用快速排序实现排序的C++程序:


#include<iostream>

using namespace std;

void quick_sort(int arr[], int left, int right)

{

  if (left >= right) return;

  int i = left, j = right, pivot = arr[left];

  while (i < j)

  {

    while (i < j && arr[j] >= pivot) j--;

    if (i < j) arr[i++] = arr[j];

    while (i < j && arr[i] <= pivot) i++;

    if (i < j) arr[j--] = arr[i];

  }

  arr[i] = pivot;

  quick_sort(arr, left, i - 1);

  quick_sort(arr, i + 1, right);

}

int main()

{

  int arr[] = { 2, 4, 1, 8, 5 };

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

  

  quick_sort(arr, 0, n - 1);

  

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

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

  

  return 0;

}

以上程序中,quick_sort函数即为快速排序的实现,该算法的基本思想是选择一个元素作为基准,将大于基准的元素放到一侧,小于基准的元素放到另一侧,递归执行该操作,直到整个数组有序。最后,输出已排序的数组即可。

无论是使用STL库还是手动编写排序算法,C++编程的排序实现都是非常简单的。通过熟练掌握C++语言和排序算法,我们可以更加高效地处理各种数据和问题。

  
  

评论区

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