双向链表

http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2054&cid=1156

复制代码
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 typedef struct node
 4 {
 5     int data;
 6     struct node *rb;
 7     struct node *zb;
 8 }lb;
 9 lb *creat(int n)
10 {
11     lb *head,*p,*tail;
12     int i;
13     head=(lb *)malloc(sizeof(lb));
14     head->rb=NULL;
15     head->zb=NULL;
16     tail=head;
17     for(i=0;i<n;i++)
18     {
19         p=(lb *)malloc(sizeof(lb));
20         scanf("%d",&p->data);
21         p->rb=NULL;
22         tail->rb=p;
23         p->zb=tail;
24         tail=p;
25     }
26     return head;
27 }
28 void search(lb *head,int m)
29 {
30     int i,a;
31     lb *q,*p;
32     for(i=0;i<m;i++)
33     {
34         scanf("%d",&a);
35         p=head->rb;
36         while(p!=NULL)
37         {
38             if(p->data==a)
39             {
40                 q=p;
41                 if(q==head->rb)
42                 {
43                     printf("%d\n",q->rb->data);
44                     break;
45                 }
46                 else if(q->rb==NULL)
47                 {
48                     printf("%d\n",q->zb->data);
49                     break;
50                 }
51                 else
52                 {printf("%d %d\n",q->zb->data,q->rb->data);break;}
53             }
54             else
55             p=p->rb;
56         }
57     }
58 }
59 int main()
60 {
61     int n,m;
62     lb *head;
63     scanf("%d %d",&n,&m);
64     head=creat(n);
65     search(head,m);
66     return 0;
67 }
复制代码

 

posted @   海东青飞吧!  阅读(169)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!
点击右上角即可分享
微信分享提示