21xrx.com
2024-09-20 05:33:57 Friday
登录
文章检索 我的文章 写文章
C++中对vector进行排序
2023-06-29 01:34:17 深夜i     --     --
C++ vector 排序

C++是一门强大的编程语言,它提供了很多不同的数据结构和算法来满足各种编程需求。其中一个非常有用的数据结构是vector,它可以存储不同类型的元素并动态调整其大小。同时,C++中提供了多种排序算法可以对vector进行排序。

vector的排序可以用STL库中的sort()函数来实现。sort()函数有两个必需的参数:要排序的容器的起始和结束位置迭代器。迭代器定义了vector的范围。此外,sort()函数还可以用一个可选的比较函数定义排序的方式。默认情况下,sort()函数将使用std::less作为比较函数进行排序,它会将整数升序排序,并按字母顺序对字符串进行排序。若需要更改排序顺序,可以使用自定义比较函数,该函数应该返回bool值。

下面是一个基本的vector排序程序,其中vector容器包含数字类型。


#include <iostream>

#include <vector>

#include <algorithm> //STL头文件

using namespace std;

int main()

{

  vector<int> vec = 7 ;

 

  //升序排序

  sort(vec.begin(), vec.end());

  //输出排序后的结果

  cout << "升序排序结果:" << endl;

  for (auto i : vec)

    cout << i << " ";

  

  cout << endl;

 

  return 0;

}

在上面的程序中,vec是一个包含一系列数字的vector容器。sort()函数的第一个参数是vec.begin(),它是指向vec容器中第一个元素的迭代器。第二个参数是vec.end(),它是指向vec容器的下一个位置的迭代器,这个迭代器在计算机内部处理数组时需要用到。最后,sort()函数以默认的std::less比较函数来排列vector中的元素。

程序执行后的输出结果应如下所示:


升序排序结果:

1 2 3 4 5 6 7 8 9

由此可见,vector容器已按照升序排列,并输出排列后的结果。

总结:

总之,vector是C++中非常有用的数据结构之一,可以存储不同类型的元素,并且可以在其中动态添加、删除和改变元素的大小。使用STL库中的sort()函数,可以很容易地对vector进行排序。使用自定义的比较函数,可以实现按任何您想要的顺序对vector进行排序。

  
  

评论区

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