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. 用C开发PHP扩展 实例(基础版)

    第一步:建立扩展骨架. cd /usr/local/src/php-5.3.6/ext/ ./ext_skel --extname=laiwenhui 第二步:修改编译参数. cd php-5.3.6 ...

  2. Android Tint着色与帧动画结合

    需求 最近遇到一个需求: 要求根据后台接口给的色值 显示不同色值的帧动画(UI给了三张透明色的图) 正常的帧动画 是配置在xml里三张静态图片 然后加载一下就完事了现有的静态图片是透明的 还没有填充颜 ...

  3. 修改Jenkins的BUILD_NUMBER

    因为特殊原因需要修改jenkins的BUILD_NUMBER环境变量,现在将修改方法记录一下, Jenkins ->系统管理->脚本命令行 输入以下脚本,运行就Ok Jenkins.ins ...

  4. 算法笔记_072:N皇后问题(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 把n个皇后放在一个n*n的棋盘上,使得任何两个皇后都不能相互攻击,即它们不能同行,不能同列,也不能位于同一条对角线上. 2 解决方案 本文采用全排列 ...

  5. 如何更改Docker默认的images存储位置

    Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把d ...

  6. Cocos2d-X中的ZORDER和Tag

    ZORDER:是描写叙述渲染顺序的值,每一个CCNode都有ZORDER,默认是0 ZORDER越大,越后面绘制 假设ZORDER同样.那么看arrival顺序.先增加的节点先绘制 ZORDER仅仅在 ...

  7. xib autolayout subview

    http://sebastiancelis.com/2014/06/12/using-xibs-layout-custom-views/   initWitchCoder  有点小问题

  8. 多线程-ThreadLocal,InheritableThreadLocal

    ThreadLocal 变量值得共享可以使用public static变量的形式,所有的线程都使用同一个public static变量.如果想实现每一个线程都有自己的共享变量该如何解决呢?JDK中提供 ...

  9. Atitit.分区对索引的影响 分区索引和全局索引 attilax总结

    Atitit.分区对索引的影响 分区索引和全局索引 attilax总结 1. 分区的好处1 2. 分区键:2 3. 分区的建议:2 4. 分区索引和全局索引:2 5. 全局索引就是在全表上创建索引, ...

  10. SVN使用(自己总结)

    1.第一次导入,注意要新建个readme.txt文件用于记录版本更改,每次导入时 要填写import message 2.第二次增加文件导入时 勾选未受控版本文件(新增加文件) 完成上传就可更新增加的 ...