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. 用filter:grayscale将图片过滤成灰色

    设置成百分之百直接过滤成灰色: img{filter:gray; filter:grayscale(100%); -0-filter:grayscale(100%); -moz-filter:gray ...

  2. C++ STL中Map的按Value排序

    那么我们如何实现对pair按value进行比较呢? 第一种:是最原始的方法,写一个比较函数:  第二种:刚才用到了,写一个函数对象.这两种方式实现起来都比较简单. typedef pair<st ...

  3. 学会使用简单的MySQL操作

    第十八章 学会使用简单的MySQL操作 在前面两个章节中已经介绍过MySQL的安装了.可是光会安装还不够.还须要会一些主要的相关操作.当然了,关于MySQL的内容也是非常多的.仅仅只是对于linux系 ...

  4. c++11 学习

    #include <iostream> // std::cout #include <functional> // std::ref #include <thread&g ...

  5. Unity 背包道具搜索(2)

    上一篇: http://www.cnblogs.com/plateFace/p/6490577.html 上次编写代码只是把逻辑编写出来, 对于里面的代码还存在一下问题 1. 搜索功能没有解耦 2. ...

  6. JDBC数据库编程:PreparedStatement接口

    使用PreparedStatement进行数据库的更新及查询操作. PreparedStatement PreparedStatement是statement子接口.属于预处理. 使用statemen ...

  7. maven编译war包,pom中必须有的几个dependency

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> ...

  8. LocalOutlierFactor算法回归数据预处理

    sklearn.neighbors.LocalOutlierFactor¶ class sklearn.neighbors.LocalOutlierFactor(n_neighbors=20, alg ...

  9. 当 ftp 遇上 http Proxy

    在asp.net 开发中,有时需要使用到ftp 上传文件, 如果客户电脑使用http proxy 上网, 那么,客户电脑在使用ftp上传文件时,可能会出现以下错误: 使用 HTTP Proxy 時,不 ...

  10. C# 版 防止 DNS 污染,获取域名真实 IP 地址

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net. ...