30分,求调,第一次打链表
  • 板块B3631 单向链表
  • 楼主MHSN
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/7/27 09:25
  • 上次更新2025/7/27 17:43:09
查看原帖
30分,求调,第一次打链表
1036864
MHSN楼主2025/7/27 09:25
#include<bits/stdc++.h>
using namespace std;
struct node{
	int data;
	struct node *next;
};
void hc(node* list,int data,int sum){
	node* summ = NULL;
	summ = new node;
	summ->data = sum;
	summ->next = NULL;
	while(list != NULL){
		if(list->data == data){
			summ->next = list->next;
			list->next = summ;
		}
		list = list->next;
	}
}
void hs(node* list,int data){
	while(list != NULL){
		if(list->data == data){
			list->next = list->next->next;
		}
		list = list->next;
	}
}
void sc(node* list,int data){
	int sum = 0;
	while(list != NULL){
		if(sum){
			cout<<list->data<<endl;
			break;
		}
		if(list->data == data){
			sum++;
		}
		list= list->next;
	}
}
int main(){
	int n;
	cin>>n;
	node* list = NULL;
	list = new node; 
	list->data = 1;
	list->next = NULL;
	while(n--){
		int a,b,c;
		cin>>a;
		if(a == 1){
			cin>>b>>c;
			hc(list,b,c);
		}
		else if(a == 2){
			cin>>b;
			sc(list,b);
		}
		else{
			cin>>b;
			hs(list,b);
		}
	}
}

有点生疏,求调

2025/7/27 09:25
加载中...