3 条题解

  • 4
    @ 2022-11-3 19:43:05

    链表写法

    33写的,用我电脑发表一下

    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    int x,y;
    struct Node{
    	int val,nxt;
    };
    int tot;//当前已经使用了 a[1]~a[tot] 
    int head;//当前的链表头 
    Node a[21234];
    //返回链表的第pos个元素的下标 
    int idx(int pos){
    	int nowPos=1;
    	int nowIdx=head;
    	while(nowPos!=pos){
    		nowPos++;
    		nowIdx = a[nowIdx].nxt;
    	}
    	return nowIdx;
    }
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i].val;
    		a[i].nxt = i+1;
    	}	
    	a[n].nxt=-1;
    	tot = n;
    	head = 1;
    	
    	cin>>m;
    	for(int i=1;i<=m;i++)
    	{
    		cin>>x>>y;
    		int xId = idx(x);
    		tot++;
    		a[tot].val=y;
    		a[tot].nxt=a[xId].nxt;
    		a[xId].nxt=tot;
    	}
    	
    	for(int i=head;i!=-1;i=a[i].nxt){
    		cout<<a[i].val<<" ";
    	}
    }
    
    
    

    信息

    ID
    1080
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    161
    已通过
    76
    上传者