algorithm - 这里使用了哪种排序算法?

标签 algorithm math sorting

在一次编程事件中,他们问了这个问题。

问题: 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

更新:实际上它可能更简单:只需交换 1K 以及 2Q3J 等。只需七个步骤:)

关于algorithm - 这里使用了哪种排序算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255716/

相关文章:

algorithm - 冒泡排序和 gnome 排序的区别

javascript - 如何沿圆圈移动传单中的标记?

c - 二分查找与最后一次出现的最接近的匹配

c# - 如何在 Windows Phone 上绘制函数图

java - 我怎样才能在Java中获得n位数字的最大十进制值?

java - Java (Android) 中按年、月、日排序

c# - 有人可以成功地对该图像执行 OCR 吗?

php - 计算无限项目的百分比

iPhone - 使用 2 个键对包含 NSDictionary 的 NSMutableArray 进行排序

java - 一种日期排序算法