(资料图)
1、/* 约瑟夫环问题——链表模拟*/# include
2、初始化编号 head = (node *)malloc(sizeof(node)); head->id = 1; q = head; for (i = 2; i <= n; ++i) { p = (node *)malloc(sizeof(node)); p->id = i; q->next = p; q = p; } q->next = head; // 模拟退出过程 i = 1; p = head; while (p->next != p) { q = p; p = p->next; ++i; if (i == m) //delete(p); i = 1; { q->next = p->next; free(p); p = q->next; i = 1; } } // 打印剩余节点的编号 printf("%d", p->id); free(p); } return 0;}。
本文到此分享完毕,希望对大家有所帮助。
标签: 循环链表