使用递归对数组进行排序
Sort an array with recursion
首先这是一个家庭作业,我只是在寻找一些使用递归的指针。
我有一个大小为n的伪随机整数数组。我需要对数组从低到高排序。下面是我创建的递归排序函数,但我知道我缺少了一部分,但我不确定是什么。
template <typename T>
void sort_array_recur(T* random_array,T n)
{
//stop case
if(n = 1 )
{
if(random_array[n] < random_array[ n + 1 ])
{
T temp = random_array[n + 1];
random_array[n] == random_array[n + 1];
random_array[n + 1] == temp;
}
}
else
{
sort_array_recur(random_array, (n - 1));
}
}
我认为我缺少的是某种插入函数,也需要递归调用。我也搜索了一下,似乎没有什么特别的我的情况(或者至少我不能理解)。谢谢您的宝贵时间。
编辑:我想我忘了提到规范说"排序n元素数组的前n-1个元素。然后将第n个元素放在n-1个排序元素中的适当位置。我想我不明白如何排序数组的前n-1个元素?
要求使用递归。你的问题对大小为n的数组进行排序。第一步是对数组中的n-1个元素进行排序。
考虑m = n-1。你能把你的问题应用到一个大小为m的数组吗?即对前m-1个元素进行排序,然后将第m个元素放在正确的位置?
考虑k = m-1。你能对大小为k的数组做同样的事情吗?
你知道如何使用递归来解决这个问题吗?
也要考虑如何结束递归;如何处理大小为1的数组?
相关文章:
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 显示错误输出的简单数组排序程序
- 为什么我的排序算法会更改数组值
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 合并排序不排序自创建数组类 c++
- 带有枚举方向/类型的气泡排序结构数组
- 为什么指针在对二维数组进行排序时无法正常工作?
- 排序并行数组
- 如何在数组 c++ 中对字符串进行排序
- 为什么在此排序算法实现中,向量明显比数组慢?
- 如何对不在数组中的变量进行排序?
- C++数组与向量排序(在我的情况下,向量比数组慢~2.5倍(无优化))
- 按字母顺序对结构内数组变量中的名称进行排序
- 使用排序函数 c++ 对字符数组进行排序
- 使用 std::sort 对二维 c 数组进行排序
- 使用STL对用户输入数组进行排序的错误有什么解决方案吗?
- 使用 std::sort 对 C 样式的 2D 数组进行部分排序
- 数组为此合并排序函数提供了正确的输出,但向量给出了不正确的输出.出了什么问题?
- 对 0 、1 和 2 的数组进行排序