gpt4 book ai didi

c - 二维数组的排序

转载 作者:行者123 更新时间:2023-11-30 18:43:33 25 4
gpt4 key购买 nike

我正在尝试解决二维数组的问题,但几乎不需要帮助。问题是这样的:

假设我们有一个大小为 nxn 的二维数组 A,由唯一元素组成。需要按如下方式重新排列 A 的元素。设 A11、A12、A21、A22 是 A 的四个相互不相交的子数组,每个子数组的大小为 n/2 x n/2。那么 A11 < A12 < A21 < A22。如果每个子数组都递归地分成四个大小相等的子数组,则该属性也成立。

用户输入:n,N(≥ n2)。 n 是 2 的幂

我尝试了很多方法,但似乎没有任何效果。

最佳答案

您需要创建一个函数,根据相关顺序将 0 到 n*n-1 之间的索引转换为数组中的坐标。然后,您只需在大小为 n*n 的数组上运行一些常用的一维排序算法,其中的第 j 个元素将使用该函数进行替换。它解决了问题。

更新:映射函数将此矩阵中的数字映射到它们的坐标:

 0  1  4  5
2 3 6 7
8 9 12 13
10 11 14 15

关于c - 二维数组的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6883349/

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