约瑟夫环——链表法
Posted 朝雾之归乡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约瑟夫环——链表法相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <stdlib.h> using namespace std; typedef struct node* list; struct node { int Item; list next; }; static void DisplayList(list head) { if (head->next == nullptr) { cout << "null\n"; return; } list p = head; do { cout << p->Item << endl; p = p->next; } while (p != head); } int main(int argc, char *argv[]) { int N = atoi(argv[1]); int M = atoi(argv[2]); list head = (list)malloc(sizeof(struct node)); list p = head; head->Item = 1; head->next = head; for (int i=2; i<=N; i++) { list m = (list)malloc(sizeof(struct node)); p->next = m; m->Item = i; m->next = head; p = m; } DisplayList(head); while(p != p->next) { for (int i=1; i<M; i++) { p = p->next; } cout << p->next->Item << endl; p->next = p->next->next; } cout << p->Item << endl; }
以上是关于约瑟夫环——链表法的主要内容,如果未能解决你的问题,请参考以下文章