1

我必须找到那个神秘算法的作用。现在我知道它是一种,但我找不到它的正式名称。

这是它的Java代码:

for (int i = 0 ; i < myListSize; i++) {
    min = Collections.min(myList.subList(i, myListSize));
    minIndex = myList.indexOf(min);
    Collections.reverse(myList.subList(minIndex, myListSize));
    Collections.reverse(myList.subList(i, myListSize));
}

拿这个数组:

   [G,E,D,A,F,C,H,I,B]

它 1) 搜索最小值。元素,2)从那里反转子数组,3)再次反转整个事物:

1) [G,E,D,[A,F,C,H,I,B]]
2) [G,E,D,[B,I,H,C,F,A]]
3) [[A,F,C,H,I,B],D,E,G]

现在最小。元素在左边。对数组的其余部分重复:

1) [A] [F,C,H,I,[B,D,E,G]]
2) [A] [F,C,H,I,[G,E,D,B]]
3) [A] [[B,D,E,G],I,H,C,F]

1) [A,B] [D,E,G,I,H,[C,F]]
2) ...

瞧!排序。请问你有它的名字吗?

4

1 回答 1

8

这叫煎饼分拣

煎饼分类,图片来自维基百科

这是一个关于它的代码高尔夫难题:翻转煎饼

于 2013-09-29T12:41:51.497 回答