a.用循环链表,每次向前走m步,然后删除节点。由于m是固定的,一共耗时O(m*n)
b.用红黑树的扩张,顺序统计量里面的方法OS_SELECT,i赋初始值1
while(n>0)
{
i=(i+m-2)%n+1;
//这里i的取值范围1 to n
x=OS_SELECT(T,i);
delete(T,x);
n--;
}
a.用循环链表,每次向前走m步,然后删除节点。由于m是固定的,一共耗时O(m*n)
b.用红黑树的扩张,顺序统计量里面的方法OS_SELECT,i赋初始值1
while(n>0)
{
i=(i+m-2)%n+1;
//这里i的取值范围1 to n
x=OS_SELECT(T,i);
delete(T,x);
n--;
}