约瑟夫环问题分析_约瑟夫环问题

2023-05-03 12:01:29 来源:互联网


【资料图】

1、/* 约瑟夫环问题——链表模拟*/# include # include typedef struct node{ int id; struct node* next;} node; int main(){ int m, n, i; node *p, *q, *head; while (~scanf("%d%d", &m, &n)) { // 创建含 n 个节点的循环链表。

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;}。

本文为大家分享到这里,希望小伙伴们有帮助。

标签:

上一篇:【全球聚看点】2023开年5场红毯成照妖镜,谁小心机、势利眼,全都藏不住了
下一篇:最后一页