Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 重新排列数组元素_C++_C_Arrays - Fatal编程技术网

C++ 重新排列数组元素

C++ 重新排列数组元素,c++,c,arrays,C++,C,Arrays,不确定它是否重复。给定具有前N个整数和后N个字符的数据结构。A=i1 i2 i3。。。在c1 c2 c3中。。。中国。我需要一个就地算法来重新排列元素,如A=i1c1c2c2。。。在中国,我认为这是一个标准的排序问题 您只需要一个好的比较函数,然后使用qsort 你熟悉qsort吗? 您是否创建了任何可以与我们共享的比较函数 编辑 正如评论员指出的,qsort、std::sort和其他类似的例程需要大小相同的对象。因为这个问题需要一个int和char数组,它们的大小不同,在C/C++中严格来说是

不确定它是否重复。给定具有前N个整数和后N个字符的数据结构。A=i1 i2 i3。。。在c1 c2 c3中。。。中国。我需要一个就地算法来重新排列元素,如A=i1c1c2c2。。。在中国,我认为这是一个标准的排序问题

您只需要一个好的比较函数,然后使用qsort

你熟悉qsort吗? 您是否创建了任何可以与我们共享的比较函数

编辑 正如评论员指出的,qsort、std::sort和其他类似的例程需要大小相同的对象。因为这个问题需要一个int和char数组,它们的大小不同,在C/C++中严格来说是不可能的,所以需要更多的信息

这个数组究竟是如何声明的?INT和CHAR有多大?字符的存在是否意味着N被限制为255


再说一次,一些代码确实会有帮助

我认为这是一个标准的排序问题

您只需要一个好的比较函数,然后使用qsort

你熟悉qsort吗? 您是否创建了任何可以与我们共享的比较函数

编辑 正如评论员指出的,qsort、std::sort和其他类似的例程需要大小相同的对象。因为这个问题需要一个int和char数组,它们的大小不同,在C/C++中严格来说是不可能的,所以需要更多的信息

这个数组究竟是如何声明的?INT和CHAR有多大?字符的存在是否意味着N被限制为255


再说一次,一些代码确实会有帮助

您的问题相当于将2xN矩阵变换到位。你可以在这里阅读理论:


也许在2xN矩阵的特殊情况下,存在一个更简单的算法,但是我想不出任何算法。一般的想法是遵循排列的循环。

您的问题相当于在适当的位置转置2xN矩阵。你可以在这里阅读理论:


也许在2xN矩阵的特殊情况下,存在一个更简单的算法,但是我想不出任何算法。总体思路是遵循排列的循环。

这个问题似乎有三个问题

在同一列表中插入两种类型的项目。有几种方法可以做到这一点,但不会很好。 要分离字符和整数的数据。 每个分区都要排序字符和整数。
这个问题似乎有三个问题

在同一列表中插入两种类型的项目。有几种方法可以做到这一点,但不会很好。 要分离字符和整数的数据。 每个分区都要排序字符和整数。

几乎重复:问题是什么?当然,我们不会为您编写所有代码。你有什么代码可以分享吗?您遇到过我们可以帮助您解决的任何具体问题吗?顺便问一下:一个C/C++数组如何在不进行大量类型转换的情况下同时保存字符和整数?@abelenky:我尝试将值输出到另一个数组,但想不出一种就地方法。@yadab:不,这将转换i1 i2 i3。。。在c1 c2 c3中。。。中国到c1 c2 c3。。。中国i1 i2 i3。。。几乎重复:问题是什么?当然,我们不会为您编写所有代码。你有什么代码可以分享吗?您遇到过我们可以帮助您解决的任何具体问题吗?顺便问一下:一个C/C++数组如何在不进行大量类型转换的情况下同时保存字符和整数?@abelenky:我尝试将值输出到另一个数组,但想不出一种就地方法。@yadab:不,这将转换i1 i2 i3。。。在c1 c2 c3中。。。中国到c1 c2 c3。。。中国i1 i2 i3。。。在有C++版本时,为什么要使用C库?STD::SORTE您需要维护Its/CARS出现的顺序,所以排序不能工作。任何稳定的排序合并、插入排序、冒泡排序都会起作用,但是Q排序Quasr排序不稳定,因此OP需要的不是工作。为什么有C++库时有C++版本?std::Sorty您需要保持整数/字符的显示顺序,因此排序将不起作用。任何稳定的排序mergeSort、insertionSort、bubbleSort都会起作用,但qsort quickSort不稳定,所以它不能满足OP的要求。你不能用@André:不。有什么联系?存在一个简单的2xN算法:你不能用@André:不。有什么联系?存在一个简单的2xN算法: