std::sort,所在头文件<algorithm>
template<typename RandomIt>void sort(RandomIt first,RandomIt last);
template<typename ExecutionPolicy,typename RandomIt>
void sort(ExecutionPolicy&& policy,RandomIt first,RandomIt last);
template<typename RandomIt,typename Compare>
void sort(RandomIt first,RandomIt last,Compare comp);
template<typename ExecutionPolicy,typename RandomIt,typename Compare>
void sort(ExecutionPolicy&& policy,RandomIt first,RandomIt last,Compare comp);
有上面四种重载,其中第2、4种是C++17新加的。
参数必须是满足“随机访问迭代器”的类型。所以如果a是数组的话,应该可以。
根据你的描述,以struct为元素的vector需要排序,直接在结构体重重载小于号就行了。后续插入到vector中的元素就会以重载的方法升序排列。
struct Item
{
int i;
string str;
bool operator<(const Item &other) const
{
if (i < otheri) // i升序
{
return true;
}
else if (i == otheri)
{
if (strcmp(strc_str(), otherstrc_str()) < 0) //str升序
{
return true;
}
}
return false;
}
};
如上代码可供参考,如果问题解决,请采纳!
#include<stdioh>
void sort(int p,int n);
int main()
{
int i,arr1[6]={3,9,2,8,6,1},arr2[10]={11,5,18,7,2,15,4,13,9,3};
sort(arr1,6);
sort(arr2,10);
printf("排序的结果:\n");
for(i=0;i<6;i++)
printf("%3d",arr1[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%3d",arr2[i]);
}
void sort(int p,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(p[i]>p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
#include
using
namespace
std;
sort函数是排序用的,一般用于数组。
int
a[]={0,8,3,5,6,7,81,9,12,1};
sort(&a[0],&a[10]);
数组首地址,和尾地址作为参数。
string
a[5]={"abc","dfe","sd","gf","rg"};
sort(&a[0],&a[5]);
字符串也可以。
c++sort函数的用法如下:
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为nlog2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include<algorithm>的c++标准库中。
1970年,AT&T贝尔实验室的工作人员DRitchie和KThompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。1971年,瑞士联邦技术学院NWirth教授发明了第一个结构化的编程语言Pascal。
20世纪70年代中期,本贾尼·斯特劳斯特卢普在剑桥大学计算机中心工作。斯特劳斯特卢普希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合斯特劳斯特卢普的初衷和设想。
1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作。、1983年,该语言被正式命名为C++。1985年、1990年和1994年,C++先后进行3次主要修订。
C++的标准化工作于1989年开始 [21] ,并成立了一个ANSI和ISO(International Standards Organization)国际标准化组织的联合标准化委员会。
sort()是c++、java里对数组的元素进行排序的函数,该函数在c++中包含于algorithm库中。
sort() 方法用于对数组的元素进行排序。包含于头文件algorithm。
sort()说明:
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现 在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。 (此时不排序)
若 a 大于 b,则返回一个大于 0 的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)