- #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;
- }
关于环形链表的建立,删除,插入操作演示
最新推荐文章于 2022-12-21 11:13:03 发布