Algorithm 处于奇数/偶数位置的个人轮流重新安排自己,需要多少步骤才能保证正确的顺序? 问题

Algorithm 处于奇数/偶数位置的个人轮流重新安排自己,需要多少步骤才能保证正确的顺序? 问题,algorithm,sorting,Algorithm,Sorting,考虑一组随机排列的人,他们面对同一个方向并排站着。 人们要根据年龄重新排列自己,最小的在左边,最大的在右边 将通过交替执行以下两个步骤来重新安排人员顺序: 如果右边的人更年轻,则处于偶数位置的每个人都会与右边的人交换位置 单数位置的每个人都会和右边的人交换位置,如果那个人更年轻的话 该算法将在x步数后自动停止,具体取决于排队人数(n)。每种可能的情况下,需要多少个单独的步骤来保证n个人被分类 我的过程 对于n>2的每个重新排序过程,所需的步骤数为n。与n@juvian重新排序如果有4个人,

考虑一组随机排列的人,他们面对同一个方向并排站着。 人们要根据年龄重新排列自己,最小的在左边,最大的在右边

将通过交替执行以下两个步骤来重新安排人员顺序:

  • 如果右边的人更年轻,则处于偶数位置的每个人都会与右边的人交换位置
  • 单数位置的每个人都会和右边的人交换位置,如果那个人更年轻的话
该算法将在x步数后自动停止,具体取决于排队人数(n)。每种可能的情况下,需要多少个单独的步骤来保证n个人被分类


我的过程
对于n>2的每个重新排序过程,所需的步骤数为n。与n@juvian重新排序如果有4个人,只需3个步骤就可以将最年轻的人放在正确的位置。如果这里没有答案,你可以尝试在计算机科学中提问
Example, n = 2

    Pos    0 1
Ages #0    2 1
Ages #1    1 2         Steps required = 1




Example, n = 4

    Pos    0 1 2 3
Ages #0    4 3 2 1 
Ages #1    3 4 1 2
Ages #2    3 1 4 2
Ages #3    1 3 2 4
Ages #4    1 2 3 4     Steps required = 4