gpt4 book ai didi

c++ - 如何使用 std::sort 在 C++ 中对数组进行排序

转载 作者:IT老高 更新时间:2023-10-28 12:01:19 32 4
gpt4 key购买 nike

如何使用标准模板库std::sort()对声明为的数组进行排序int v[2000];

C++ 是否提供了一些函数可以获取数组的开始和结束索引?

最佳答案

在 C++0x/11 中,我们得到 std::beginstd::end为数组重载:

#include <algorithm>

int main(){
int v[2000];
std::sort(std::begin(v), std::end(v));
}

如果你没有 C++0x 的访问权限,自己编写它们并不难:

// for container with nested typedefs, non-const version
template<class Cont>
typename Cont::iterator begin(Cont& c){
return c.begin();
}

template<class Cont>
typename Cont::iterator end(Cont& c){
return c.end();
}

// const version
template<class Cont>
typename Cont::const_iterator begin(Cont const& c){
return c.begin();
}

template<class Cont>
typename Cont::const_iterator end(Cont const& c){
return c.end();
}

// overloads for C style arrays
template<class T, std::size_t N>
T* begin(T (&arr)[N]){
return &arr[0];
}

template<class T, std::size_t N>
T* end(T (&arr)[N]){
return arr + N;
}

关于c++ - 如何使用 std::sort 在 C++ 中对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897319/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com