2231: 交集问题(线性表)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 6  Solved: 3
[Submit][Status][Web Board]

Description

设有两个单链表A,B,求出A,B的交集元素放到A中

Input

1 4 5 6 7 8

1 3 6 9 10 33

Output

1 6

Sample Input

11 14 54 6 4 83
 
11 3 6 9 10 83

Sample Output

11 6 83

HINT

 

Source

  

  数据结构链表练习

  对两个链表取交集输出。考验链表的实现和处理。作为练习题很适合。也纠结了不少时间。

  代码:

 #include <iostream>
#include <stdio.h>
using namespace std;
struct Node{
int num;
Node* next;
};
int main()
{
int n=;
char c;
Node* head = new Node;
Node* p = new Node;
head->next = p;
//输入A链表
while((c=getchar())!='\n'){
if(''<=c && c<=''){ //c是数字
int t = c-'';
n = n*+t;
}
else if(c==' ' && n!=){ //c是空格
p->num = n;
n = ;
Node* cur = new Node;
p->next = cur;
p=cur;
}
}
p->num = n;
p->next = NULL; getchar(); //两个链表中间有一个回车 Node* head2 = new Node;
Node* p2 = new Node;
p = p2;
head2->next = p;
n = ;
//输入A链表
while((c=getchar())!='\n'){
if(''<=c && c<=''){ //c是数字
int t = c-'';
n = n*+t;
}
else if(c==' ' && n!=){ //c是空格
p->num = n;
n = ;
Node* cur = new Node;
p->next = cur;
p=cur;
}
}
p->num = n;
p->next = NULL; //取交集,对A链表处理
p = head;
while(p->next!=NULL){
p2=head2->next;
while(p2!=NULL){
if(p->next->num==p2->num){
break;
}
p2 = p2->next;
}
if(p2==NULL){ //没有找到
Node* q = new Node;
q = p->next; //存储一会要销毁的空间地址
p->next=p->next->next;
delete(q); //销毁删掉的节点
}
else //找到了
p=p->next;
} //输出
p=head->next;
while(p!=NULL){
cout<<p->num<<' ';
p=p->next;
}
cout<<endl;
/*
p=head2->next;
while(p!=NULL){
cout<<p->num<<endl;
p=p->next;
}
*/
return ;
}

Freecode : www.cnblogs.com/yym2013

ytu 2231: 交集问题(线性表)(数据结构,链表练习)的更多相关文章

  1. C语言 严蔚敏数据结构 线性表之链表实现

    博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现. 首先,数据结构包括1.数据的操作2.逻辑结构3.存储结构(数据结构三要素. 直 ...

  2. C数据结构 : 线性表 与 链表

    一.线性表 一般表现为数组,使用一组地址连续的存储单元依次存储数据元素,如图: 它具有如下特点: 长度固定,必须在分配内存之前确定数组的长度. 存储空间连续,即允许元素的随机访问. 存储密度大,内存中 ...

  3. Python线性表——单链表

    1. 线性表简介 线性表是一种线性结构,它是由零个或多个数据元素构成的有限序列.线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继,而序列头元素没有直接前驱 ...

  4. JAVA实现具有迭代器的线性表(单链表)

    一,迭代器的基本知识: 1,为什么要用迭代器?(迭代:即对每一个元素进行一次“问候”) 比如说,我们定义了一个ADT(抽象数据类型),作为ADT的一种实现,如单链表.而单链表的基本操作中,大部分需要用 ...

  5. YTU 2203: 最小节点(线性表)

    2203: 最小节点(线性表) 时间限制: 1 Sec  内存限制: 128 MB 提交: 243  解决: 204 题目描述 (线性表)设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算 ...

  6. 数据结构之 线性表---单链表的操作B(先逆序+再删除重复元素)

    数据结构上机测试2-2:单链表操作B Time Limit: 1000MS Memory limit: 65536K 题目描述 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删 ...

  7. 数据结构之 线性表---单链表操作A (删除链表中的指定元素)

    数据结构上机测试2-1:单链表操作A Time Limit: 1000MS Memory limit: 4096K 题目描述 输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据 ...

  8. JAVA中的array是通过线性表还是链表实现的呢?

    由于高级程序设计语言中的数组类型也有随机存取的特性,因此,通常都用数组来描述数据结构中的顺序存储结构.

  9. 线性表 及Java实现 顺序表、链表、栈、队列

    数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...

随机推荐

  1. linux Java 手动GC 手动回收垃圾

    logs_paths[0]="xxxx_tomcat8_9001"; logs_paths[1]="xxxx_tomcat8_9002"; for logs_p ...

  2. 一步一步实现iOS微信自己主动抢红包(非越狱)

    前言:近期笔者在研究iOS逆向project,顺便拿微信来练手,在非越狱手机上实现了微信自己主动抢红包的功能. 题外话:此教程是一篇严肃的学术探讨类文章,只用于学习研究,也请读者不要用于商业或其它非法 ...

  3. 剑指OFFER之二叉搜索树与双向链表(九度OJ1503)

    题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 输入: 输入可能包含多个测试样例.对于每个测试案例,输入的第一行为一个数 ...

  4. Python-Mac OS X EI Capitan下安装Scrapy

    sudo pip install scrapy --ignore-installed six #sudo pip install scrapy --upgrade --ignore-installed ...

  5. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  6. Specification模式的一个不错的示例代码

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Specifi ...

  7. Swift新手教程12-可选链

    可选链 原创Blog,转载请注明出处 我的博客地址 http://blog.csdn.net/hello_hwc 可选链提供一个一种可选的方式訪问对象的属性.方法.下标脚本,可选链的返回值一定是可选类 ...

  8. MVC页面跳转,路径重复的问题

    window.location.replace("../Home/xxx") 这是js路径跳转的示范,如果普通超链接也一样 前面加一个../

  9. atitit.提升兼容性最佳实践 p825.doc

    atitit.提升兼容性最佳实践 p825.doc 1. Atitit.兼容性的“一加三”策略1 2. 扩展表模式2 3. 同时运行模式2 3.1. 完美的后向兼容性3 3.2. 虚拟机模式3 3.3 ...

  10. Linux之手动设置IP地址

    一.引言 有时候我们装好了机器却发现网络没有设置,而服务器的机器一般都是没有界面的,那么该如何设置IP呢? 二.步骤 root用户,#vi /etc/sysconfig/network-scripts ...