栈输出十进制的二进制
int fun(int a, StackPtr S)
{
while(a != 0)
{
stack_push(S, a%2);
a = a/2;
}
return 0;
}
约瑟夫环
int jose(int n, int m)
{
Looplink node = NULL;
Looplink tail = NULL;
Looplink head = NULL;
head = list_create();
tail = head;
if(NULL == head)
{
return -1;
}
for(int i = 2; i < n+1; i++)
{
list_insert_tail(head, i);
}
list_show(head);
tail = head->next;
while(tail->next != head)
{
tail = tail->next;
}
tail->next = head;
head->data = 1;
tail = head;
while(tail->next != tail)
{
for(int i = 1; i < m; i++)
{
node = tail;
tail = tail->next;
}
printf("%d\n", tail->data);
node->next = tail->next;
tail = tail->next;
}
printf("生还者是%d\n",tail->data);
}