21xrx.com
2024-06-03 06:05:45 Monday
登录
文章检索 我的文章 写文章
C++直接排序代码
2023-07-09 03:53:16 深夜i     --     --
C++ 排序 直接排序 代码

直接排序(简单选择排序)是一种简单的排序算法,它的时间复杂度为O(n^2)。该排序算法的思想是每次从未排序的部分中选择最小的元素,放到已排序部分的末尾。下面是C++中的直接排序代码。


#include <iostream>

using namespace std;

void selectSort(int arr[], int n)

{

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

  {

    int k=i;

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

    {

      if(arr[j]<arr[k]) k=j;

    }

    swap(arr[i], arr[k]);

  }

}

int main()

{

  int arr[]=1;

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

  selectSort(arr, n);

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

  {

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

  }

  return 0;

}

在这个代码中,我们使用了一个函数selectSort来进行选择排序。该函数的参数包括一个整型数组和数组的长度。在函数内部,我们使用嵌套循环来实现选择排序的过程。外层循环用来遍历整个数组,内层循环用来选择未排序的部分中的最小元素。选择完成后,我们使用swap函数来将最小元素和已排序部分的末尾元素进行交换。通过多次重复这个过程,最终我们就可以得到一个升序排列的数组。

使用C++直接排序算法,要注意选择排序的时间复杂度为O(n^2),对于较大的数据量,效率会比较低。因此,在实际应用中,我们需要尽可能地使用效率更高的排序算法,以提高程序的运行效率。

  
  

评论区

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