点击打开链接

数据结构实验之链表九:双向链表

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss

Problem Description

学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有一个指针指向了节点B,同时,B又有一个指向A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按照给定的顺序建立双向链表,按照关键字找到相应节点,输出此节点的前驱节点关键字及后继节点关键字。

Input

第一行两个正整数n(代表节点个数),m(代表要找的关键字的个数)。第二行是n个数(n个数没有重复),利用这n个数建立双向链表。接下来有m个关键字,每个占一行。

Output

对给定的每个关键字,输出此关键字前驱节点关键字和后继节点关键字。如果给定的关键字没有前驱或者后继,则不输出。
注意:每个给定关键字的输出占一行。
           一行输出的数据之间有一个空格,行首、行末无空格。

Example Input

10 31 2 3 4 5 6 7 8 9 0350

Example Output

2 44 69

Hint

#include <iostream>
#define max 20
using namespace std;
int a;
struct node
{node *prior;int num;node *next;
};
struct node *CreateList(int n)
{node *head,*p,*q;head=new node;head->prior=head->next=NULL;p=head;for(int i=0;i<n;i++){q=new node;cin>>q->num;q->next=NULL;p->next=q;q->prior=p;p=q;}return head;
}
void Display(node *head,int m)
{node *p=head->next;while(p!=NULL){if(p->num==a){if(p->next!=NULL&&p->prior!=head){cout<<p->prior->num<<' '<<p->next->num<<endl;break;//continue;用continune会死循环,基础知识(暑假做题的时候可能蒙了)}else if(p->next==NULL&&p->prior!=head){cout<<p->prior->num<<endl;break;//continue;}else if(p->next!=NULL&&p->prior==head){cout<<p->next->num<<endl;break;//continue;}else//去掉这个else的判读,输入1 1 1 就出现bugbreak;//continue;}elsep=p->next;}
}
int main()
{node *head;int n,m;cin>>n>>m;head=CreateList(n);while(m--){cin>>a;Display(head,m);}return 0;
}//输入1 1 1时没有bug/***************************************************
User name: YT1658506207邵雪源
Result: Accepted
Take time: 0ms
Take Memory: 228KB
Submit time: 2017-08-10 18:45:46
****************************************************/

SDUT—2054数据结构实验之链表九:双向链表 (基本建立)相关推荐

  1. SDUT-2054_数据结构实验之链表九:双向链表

    数据结构实验之链表九:双向链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 学会了单向链表,我们又多了一种解决问题的 ...

  2. SDUT_2116 数据结构实验之链表一:顺序建立链表

    点击打开链接 数据结构实验之链表一:顺序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D ...

  3. SDUT _2117 数据结构实验之链表二:逆序建立链表

    点击打开链接 数据结构实验之链表二:逆序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D ...

  4. SDUT OJ 数据结构实验之链表四:有序链表的归并

    数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...

  5. 数据结构实验之链表九:双向链表

    Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链.但单链表有一个弱点--不能回指.比如在链表中有两个节点A, ...

  6. H - 数据结构实验之链表九:双向链表

    Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链.但单链表有一个弱点--不能回指.比如在链表中有两个节点A, ...

  7. 数据结构实验之链表一:顺序建立链表(SDUT 2116)

    Problem Description 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据. Input 第一行输入整数的个数N: 第二行依次输入每个整数. Output ...

  8. SDUT数据结构实验之链表一:顺序建立链表

    链表基础:顺序建链表 Description 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据. Input 第一行输入整数的个数N: 第二行依次输入每个整数. Outp ...

  9. 数据结构实验之链表一:顺序建立链表

    题目描述 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据. 输入 第一行输入整数的个数N: 第二行依次输入每个整数. 输出 输出这组整数. 示例输入 8 12 56 4 ...

最新文章

  1. 谷歌如何利用人工智能重塑美国医疗行业?
  2. 岭回归不仅仅是正则化作用
  3. keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...
  4. PHP(一)——概述及服务器配置
  5. 物理竞赛得奖学计算机,物理竞赛林紫琪带你探索清华学堂计算机科学实验班”(姚班)...
  6. 【Python CheckiO 题解】Speech Module
  7. 菜鸟学习笔记:Java提升篇9(网络1——网络基础、Java网络编程)
  8. 解析搜索引擎的Robots协议
  9. 液晶面板里面有些什么配件_液晶电视核心部件液晶面板有哪些类型?
  10. oracle:触发器,自治事务,instead of trigger,trigger
  11. LeetCode Factorial Trailing Zeroes (阶乘后缀零)
  12. 拓端tecdat|R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
  13. rootkit 后门检查工具 rkHunter安装使用
  14. ArcGis如何插入图片_如何在CAD图纸中以OLE形式插入图片?
  15. 因子分析 factor analysis (六) :用因子分析法进行综合评价
  16. el-select 多选取值_Python实战—Lasso回归选取关键特征
  17. 教育行业网络安全等级保护法律法规参考
  18. 2021年G3锅炉水处理考试内容及G3锅炉水处理模拟试题
  19. 服务器麒麟系统是arm还是x64,麒麟arm环境安装ceph
  20. html如何让table表格垂直(上下)居中

热门文章

  1. UDP穿越NAT原理
  2. 上海肯特选用Ultimus 提升企业管理
  3. Tree 1.5 For Net 2.0
  4. WIN10映射ubuntu1604共享目录(网络驱动器)
  5. S3C6410的Bootloader的两个阶段BL1和BL2编译相关学习
  6. nboot通过DNW下载并运行eboot.nb0
  7. python注释_Python的注释用法
  8. 科创板允许红筹企业上市 条件成熟后BAT可速回归
  9. 全球首个无人驾驶政策颁布,各大巨头并不完全买账
  10. raid磁盘阵列OFFLINE后的应急方案