在一次编程事件中,他们问了这个问题。
问题: 1 2 3 4 5 6 7 8 9 10 J Q K.
编写算法以7 步对卡片进行倒序排序。
K Q J 10 9 8 7 6 5 4 3 2 1.
我无法追踪排序算法。 这里使用了哪种算法?
最佳答案
我认为它类似于 quicksort ,但有 block 移动:
1 2 3 4 5 6 7 8 9 10 J Q K
8 9 10 J Q K 7 1 2 3 4 5 6
J Q K 8 9 10 7 1 2 3 4 5 6
J Q K 8 9 10 7 4 5 6 1 2 3
K Q J 8 9 10 7 4 5 6 1 2 3
K Q J 10 9 8 7 4 5 6 1 2 3
K Q J 10 9 8 7 6 5 4 1 2 3
K Q J 10 9 8 7 6 5 4 3 2 1
更新:实际上它可能更简单:只需交换 1
和 K
以及 2
和 Q
、3
和J
等。只需七个步骤:)
关于algorithm - 这里使用了哪种排序算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255716/