您现在的位置是:首页 > 精选百科 > 正文

约瑟夫环讲解(2024年06月13日约瑟夫环问题)

发布时间:2024-06-13 04:35:08纪宗媛来源:

导读 今天火狐为大家解答以上的问题。约瑟夫环讲解,2024年06月13日约瑟夫环问题相信很多小伙伴还不知道,现在让我们一起来看看吧!1、/* 约瑟夫...

今天火狐为大家解答以上的问题。约瑟夫环讲解,2024年06月13日约瑟夫环问题相信很多小伙伴还不知道,现在让我们一起来看看吧!

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

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

上一篇
下一篇

猜你喜欢

最新文章