gpt4 book ai didi

c++ - 如何对作为参数传递的数组进行排序?

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:02 24 4
gpt4 key购买 nike

我必须在已经编写的代码中编写一个方法,直接向我传递一个数组。但是一旦进入我的方法,该数组就变成了指向数组中第一个对象的指针。所以现在我已经做了一些计算,想要对数组进行排序。但由于它现在不被视为数组,所以我无法执行 sort() 函数。

当我只有指针可以使用时,对数组进行排序的最佳方法是什么?

最佳答案

您要么需要知道数组中元素的数量,将其作为单独的参数传递,要么需要一个指向最后一个元素之后的元素的指针。

void my_sort(int* p, unsigned n) {
std::sort(p, p+n);
}

void my_sort2(int* p, int* p_end) {
std::sort(p, p_end);
}

你会调用他们

int a[] = { 3, 1, 2 };
my_sort(a, sizeof a / sizeof a[0]); // or 3...
my_sort2(a, &a[2] + 1); // one past the last element! i.e. a+3

关于c++ - 如何对作为参数传递的数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039352/

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