1 条题解

  • 0
    @ 2024-11-18 13:20:05

    链表模板

    因为题水
    使用动态分配内存的链表 注意要使用循环链表

    C/C++ 中,指针变量的类型为类型名后加上一个星号 *。比如,int 类型的指针变量的类型名即为int *

    在本题中,我使用了一个结构体node,用来储存链表上每一个节点的值和指向下一个节点的指针。

    使用指针可以高效的访问链表中的每一个节点。

    如果动态申请内存,别忘了使用delete释放内存,防止内存泄露。

    #include<bits/stdc++.h>
    using namespace std;
    struct node{
    	node *next;
    	int date;
    };
    int n,m;
    int main(){
    	cin>>n>>m;	
    	node *head,*p,*now,*prev;
    	head=new node;
    	head->date=1;
    	head->next=nullptr;
    	now=head;
    	for(int i=2; i<=n; i++){
    		p=new node;
    		p->date=i;
    		p->next=NULL;
    		now->next=p;
    		now=p;
    	}
    	now->next=head;
    	now=head,prev=head;//链接头尾
    	while((n--)>1){
    		for(int i=1; i<m; i++){
    			prev=now;
    			now=now->next;
    		}
    		cout<<now->date<<' ';
    		prev->next=now->next;
    		delete now;
    		now=prev->next;
    	}
    	cout<<now->date;
    	delete now;
    	return 0;
    }
    
    

    信息

    ID
    6049
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    58
    已通过
    37
    上传者