#include<iostream>
#include<stdlib.h>
using namespace std;
struct Node{
int data;
Node *Next;
};
int main(){//约瑟夫问题
Node *pNode=(Node*)malloc(sizeof(Node));
pNode->data=1;
pNode->Next=pNode;
Node *k=pNode;
for(int i=2;i<42;i++){
Node* p=(Node*)malloc(sizeof(Node));
p->data=i;
p->Next=k->Next;
k->Next=p;
k=p;
}
Node *t=pNode;
while(t!=t->Next){
t=t->Next;
cout<<t->Next->data<<"->";
Node *temp=t->Next;
t->Next=temp->Next;
free(temp);
t=t->Next;
}
cout<<t->data;
free(t);
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交