Re: 双向链表

From Beefy Echidna, 3 Years ago, written in Plain Text, viewed 383 times. This paste is a reply to 双向链表 from 李清璇 - view diff
URL http://axuhongbo.top/paste/view/f5096899 Embed
Download Paste or View Raw
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. struct node
  4. {
  5.     int data;
  6.     struct node*next,*before;
  7. };
  8. int main()
  9. {
  10.     int n,i,m,t;
  11.     struct node *head,*p,*q;
  12.     scanf("%d %d",&n,&m);
  13.     head=(struct node*)malloc(sizeof(struct node));
  14.     head->next=NULL;
  15.     q=head;
  16.     for(i=0; i<n; i++)
  17.     {
  18.         p=(struct node*)malloc(sizeof(struct node));
  19.         scanf("%d",&p->data);
  20.         p->next=NULL;
  21.         q->next=p;
  22.         p->before=q;
  23.         q=p;
  24.     }
  25.  
  26.     for(i=0; i<m; i++)
  27.     {
  28.         p=head->next;
  29.         scanf("%d",&t);
  30.         while(p)
  31.         {
  32.             if(t==p->data)
  33.             {
  34.  
  35.                 break;
  36.             }
  37.             p=p->next;
  38.  
  39.         }
  40.         if(p->before!=head&&p->next)
  41.         {
  42.             printf("%d %d\n", p->before->data, p->next->data);
  43.         }
  44.         else if(p->before!=head)
  45.         {
  46.             printf("%d\n", p->before->data);
  47.         }
  48.         else printf("%d\n", p->next->data);
  49.     }
  50.     return 0;
  51.  
  52. }
  53.  

Reply to "Re: 双向链表"

Here you can reply to the paste above

captcha