链表元素的比较和删除
2016-03-16 00:09
344 查看
已知a、b和c三个递增有序的链表,现在要求对a做如下操作:删除其中既即在b中出现又在c中出现的元素(注意同一表中的元素有可能重复)。
输入:
先在第一行输入3个小于100的正整数m,n,l分别表示链表a,b,c的长度,然后在第二行输入m个递增的正整数,第三行输入n个递增的正整数,第四行输入l个递增的正整数,分别为这三个链表的元素,
输出:
按顺序输出删除元素后的链表a的值,每个元素占一行。
输入样例:
3 8 5
23 47 88
2 5 7 9 47 47 88 99
10 20 30 40 47
输出样例:
23
88
输入:
先在第一行输入3个小于100的正整数m,n,l分别表示链表a,b,c的长度,然后在第二行输入m个递增的正整数,第三行输入n个递增的正整数,第四行输入l个递增的正整数,分别为这三个链表的元素,
输出:
按顺序输出删除元素后的链表a的值,每个元素占一行。
输入样例:
3 8 5
23 47 88
2 5 7 9 47 47 88 99
10 20 30 40 47
输出样例:
23
88
#include <cstdio> #include <cstdlib> #include <iostream> using namespace std; typedef struct node { int data; struct node *next; }LNode; LNode *Creat_LinkList(int n) { LNode *p,*q,*head; int x; head = (LNode*)malloc(sizeof(LNode)); head->next = NULL; p=head; q = p; while(n--) { scanf("%d",&x); p = (LNode*)malloc(sizeof(LNode)); p ->data = x; p ->next = NULL; q ->next = p; q = p; } return head; } void print(LNode *h) { LNode *p; p = h->next; while(p!=NULL) { printf("%d\n",p->data); p= p->next; } } void Differ_LinkList(LNode *head) { LNode *p; p=head; while(p->next!=NULL) { if(p->data == (p->next)->data) { p->next = (p->next)->next; } else p=p->next; } } void Del_LinkList(LNode *head,int x) { LNode *p; p = head; while(p->next!=NULL) { if((p->next)->data == x) { p->next = (p->next)->next; } p=p->next; } } void Deal_LinkList(LNode *a,LNode *b,LNode *c) { LNode *p; while(b->next!=NULL) { p = c; while(p->next!=NULL) { if((b->next)->data == (p->next)->data) { Del_LinkList(a,(b->next)->data); } p = p->next; } b=b->next; } } int main() { LNode *a,*b,*c; int x,y,z; scanf("%d%d%d",&x,&y,&z); a = Creat_LinkList(x); b = Creat_LinkList(y); c = Creat_LinkList(z); Differ_LinkList(b); Differ_LinkList(c); Deal_LinkList(a,b,c); print(a); return 0; }
相关文章推荐
- 开始吧
- java 反转二叉树算法
- UIWindow的研究
- 【JAVA集合】HashMap源码分析
- 最新精简型Linux桌面环境大比拼:LXDE Vs Xfce Vs MATE
- 正则表达式如何在PHP里灵活的应用
- Python3中的真除和Floor除法用法分析
- Python保存MongoDB上的文件到本地的方法
- Python使用tablib生成excel文件的简单实现方法
- PHP 二维数组和三维数组的过滤
- Laravel实现构造函数自动依赖注入的方法
- PHP与Ajax相结合实现登录验证小Demo
- Laravel中注册Facades的步骤详解
- Laravel中Trait的用法实例详解
- PHP 中提示undefined index如何解决(多种方法)
- Laravel执行migrate命令提示:No such file or directory的解决方法
- PHP5.5迭代生成器用法实例详解
- PHP Static延迟静态绑定用法分析
- PHP匿名函数和use子句用法实例
- php常用图片处理类