您的位置:首页 > 其它

猴子选大王改编;关于环形链表的建立,删除,插入操作演示

2017-01-17 21:28 351 查看
#include<iostream>
using namespace std;
struct node{
int  x;
struct node *next,*pre;
node(){
x=0;next=NULL;pre=NULL;
}
};
node *h,*p,*q;
int main(){
int i,j,k,m,n,c;
cin>>n>>m>>c;
h=new node;
h->x=1;
p=h;
for(i=2;i<=n;i++){
q=new node;
q->x=i;
p->next=q;
q->pre=p;
p=q;
}
p->next=h;h->pre=p;
p=h;
while(p->x!=c)p=p->next;
q=new node;q->x=n+1;
q->next=p->next;p->next->pre=q;
p->next=q;q->pre=p;

k=1;
p=h;
while(p->next!=p){
p=p->next;
k++;
if(k==m){
q=p;
cout<<p->x<<" ";
p->next->pre=p->pre;
p->pre->next=p->next;
p=p->next;
delete(q);
k=1;
}
}
cout<<endl;
cout<<p->x;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐