18.约瑟夫环
用单循环链表做的。
代码.
/* 这是约瑟夫环 */ #include<iostream> using namespace std; typedef struct node { int data; struct node* next; }Link; void josephus(int n,int m) { //用循环链表做 Link *head,*tail; int i,j; head=NULL; tail=NULL; for(i=0;i<n;i++) { Link* temp=new Link; temp->data=i; temp->next=NULL; if(head==NULL) { head=temp; tail=temp; } else { tail->next=temp; tail=temp; } } tail->next=head; //循环链表建成 //first指针指向每次开始的节点,最后一次时它应该指向自己 Link* pre=tail; Link* first=head; while(first->next!=first) { for(j=1;j<m;j++) { pre=first; first=first->next; } //first指向的出列 //cout<<first->data<<"出"<<endl; //删除first这个指针 Link* temp=first; pre->next=first->next; first=first->next; delete temp; temp=NULL; } cout<<first->data<<"出"<<endl; delete first; first=NULL; } int main(void) { int m,n; cin>>n>>m; josephus(n,m); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具