解题思路:暴力解决
注意事项:边界的处理
参考代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data,n;
struct node *next,*ptr;
}node;
node* creadlist(int n){
node *head,*p,*q;
head=(node *)malloc(sizeof(node));
head->next=NULL,head->ptr=NULL;
q=head;
q->data=0,q->n=0;
for(int i=0;i<n;i++){
p=(node *)malloc(sizeof(node));
scanf("%d%d",&p->data,&p->n);
p->next=q->next;
q->next=p;
p->ptr=q;
q=p;
}
return head;
}
void opea(node *heada,node *headb,int n){
node *p,*q;
node *s;
int delete_n;
p=heada->next,q=headb->next;
for(;p!=NULL;){
q=headb->next;
for(;q!=NULL;){
if(p->data==q->data){
s=p->ptr;
if(p->next==NULL)
s->next=p->next;
else {
p->next->ptr=s;s->next=p->next;
}
n-=1;
}
q=q->next;
}
p=p->next;
}
p=heada->next;
printf("%d\n",n);
for(int i=0;i<n;i++){
printf("%d %d\n",p->data,p->n);
p=p->next;
}
}
int main () {
int n,m;
scanf("%d%d",&n,&m);
node *heada,*headb;
heada=creadlist(n);
headb=creadlist(m);
opea(heada,headb,n);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:538 |
简单的a+b (C语言代码)浏览:489 |
C语言训练-排序问题<2> (C++代码)浏览:880 |
字符串问题 (C语言代码)浏览:1502 |
淘淘的名单 (C语言代码)浏览:1090 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:470 |
模拟计算器 (C++代码)浏览:800 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:653 |
Hello, world! (C语言代码)浏览:820 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:527 |