对方阵进行排序

时间:2012-07-15 09:12:19

标签: c++ algorithm sorting matrix

我正在解决一个难题,如下所示。

有一个5x5矩阵,其中一个元素为“ - ”,其他所有元素为整数 我可以用“ - ”直接交换任何元素(不是对角线) 最后,我必须对矩阵进行排序。

这些是我遵循的步骤:

1) Receive user input for 5x5 matrix
2) Locate the position of "-"
3) Find the eligible candidates to be swapped with "-"
4) Apply some algorithm and find the most eligible candidate
5) Swap the element with "-"
6) Repeat the steps 3-5 until matrix is sorted

我已经完成到第3步。但是我不知道步骤4应用了什么逻辑。 有人可以提出一些想法,如何找到最合格的候选人?

实施例

Input Matrix

17   7   9   18   3
15   11  1   12   14
2    -   4   21   24
5    19  6   18   8
10   13  16  19   20

Eligible candidates to swap with "-" are 11,2,4,19


Sorted matrix

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
16  17  18  19  20
21  22  23  24  -

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

最好使用像A *这样的AI算法和曼哈顿距离启发式算法。

对于A *算法,请阅读here

对于曼哈顿距离启发式阅读here