Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct pointer
- { int info;
- struct pointer *LPTR;
- struct pointer *RPTR;
- } ds;
- ds *l,*r,*q,*M;
- int n,i,m,d;
- void main()
- {
- printf(" Nhap vao so phan tu muon nhap n= ");
- scanf("%d",&n);
- l=NULL;r=NULL;
- for(i=1;i<=n;i++)
- {
- q=(ds *)malloc(sizeof(ds));
- printf("\n phan tu thu %d ",i);
- scanf("%d",&q->info);
- if(l==NULL)
- {
- q->LPTR=NULL;
- q->RPTR=NULL;
- l=r=q;
- }
- else
- {
- q->LPTR=NULL;
- q->RPTR=l;
- l->LPTR=q;
- l=q;
- }
- }
- l=q;
- printf(" \n Day vua nhap:");
- for(i=1;i<=n;i++)
- {
- printf("%2d",q->info);
- q=q->RPTR;
- } printf("............ Day bi in nguoc nay");
- printf("\n hay nhap tu ban phim , thu tu phan tu muon tro toi \n");
- printf("chu y rang , so can nhap phai nho hon %d ",n);
- printf("m = ");
- do
- {
- scanf("%d",&m);
- }while(m>n);
- d=1;q=l;
- for(d=1;d<=m-1;d++)
- {
- q=q->RPTR;
- }
- M=q;
- printf(" Hay nhap gia tri phan tu muon bo sung sau con tro M ");
- q=(ds*)malloc(sizeof(ds));
- scanf("%d",&q->info);
- if(M==r)
- {
- q->RPTR=NULL;
- q->LPTR=M;
- M->RPTR=q;
- r=q;
- }
- else
- {
- q->LPTR=M;
- q->RPTR=M->RPTR;
- M->RPTR=q;
- q->RPTR->LPTR=q;
- }
- n++;
- printf("ta co danh sach sau khi them vao phan tu moi gom %d phan tu \n ",n);
- q=r;
- while(q!=NULL)
- {
- printf("%d",q->info);
- q=q->LPTR;
- }
- // xoa phan tu duoc tro boi M
- if((M==l)&&(M==r))
- {
- l=NULL;
- r=NULL;
- }
- if(M==l)
- {
- l=l->RPTR;
- l->LPTR=NULL;
- M->RPTR=NULL;
- }
- if(M==r)
- {
- r=r->LPTR;
- r->RPTR=NULL;
- M->LPTR=NULL;
- }
- else
- {
- M->LPTR->RPTR=M->RPTR;
- M->RPTR->LPTR=M->LPTR;
- }
- free(M);
- printf("\n danh sach sau khi da bo di 1 phan tu duoc tro boi con tro M la :\n ");
- q=r;
- while(q!=NULL)
- {
- printf("%d",q->info);
- q=q->LPTR;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement