gpt4 book ai didi

c++ - 在动态数组上实现自己的快速排序

转载 作者:行者123 更新时间:2023-11-28 08:09:24 25 4
gpt4 key购买 nike

我必须在动态字符串数组上实现我自己的排序,例如这样的数组是:

string * sortArray;

然后我从文本文件中读取数组的大小,并根据需要创建数组并填充它。所以,我有...

sortArray = new string[_numberOfNames];

for(int i = 0; i < _numberOfNames; ++i){
sin >> _data[i];
}

现在我需要创建自己的排序方法,我想我会选择快速排序。我的问题是,我不确定该怎么做。

当我选择一个数据透视表时,我如何才能再设置两个动态字符串数组来将较低的值和较高的值放入其中,然后递归?在我开始将值放入其中之前,无法事先知道每个数组需要多大。

我想我可以做一些事情,比如将每个数组的大小定义为与正在排序的数组相同,然后一些如何从末尾删除任何不需要的空白,但我不确定这是否可能?

如有任何帮助,我们将不胜感激。

附言我知道 std::sort,我已经在程序中有了它,我只是想自己实现一种排序。

最佳答案

来自上面评论的两个选项:

1.) 使用 std::vector。在那里你可以有可变大小的数组。

2.) 使用“就地”版本的快速排序在原始数组中进行排序。参见 http://en.wikipedia.org/wiki/Quicksort#In-place_version

关于c++ - 在动态数组上实现自己的快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500758/

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