Guest User

linkedlist_FamiHug

a guest
Nov 23rd, 2010
87
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //by FamiHug@FAMILUG
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int init();
  6. void insert_head(int);
  7. void insert_tail(int);
  8. void delete_head();
  9. void delete_tail();
  10.  
  11. typedef struct pointer
  12. {
  13.         int info;
  14.         struct pointer *link;
  15. }dslk;
  16.  
  17. dslk *l,*p;
  18. int n,d,i;
  19. float s;
  20.  
  21. int main()
  22. {
  23.         int x;
  24.         int init();
  25.         printf("CHUONG TRINH MINH HOA DANH SACH LIEN KET DON\n");
  26.         printf("Ung dung de tinh trung binh cong cua cac phan tu chan trong day so nhap vao\n");
  27.         printf("======================================================\n");
  28.         printf("Nhap vao so phan tu cua danh sach: ");
  29.         scanf("%d",&n);
  30.         if(n>=0)
  31. {
  32.         for(i=1;i<=n;i++)
  33.         {
  34.         printf("Phan tu thu %d:",i);
  35.         scanf("%d",&x);
  36.         insert_head(x);
  37.         }
  38.  
  39.         s=0;
  40.         d=0;
  41.         p=l;
  42.         for(i=1;i<=n;i++)
  43.         {
  44.                 if(p->info %2 ==0)
  45.                 {
  46.                         d++;
  47.                         s=s+p->info;
  48.                 }
  49.                 p=p->link;
  50.         }
  51.         if(d!=0) printf("TBC=%f",s/d);
  52.         else printf(" Khong co phan tu nao chia het cho 2 ");
  53. }else printf("So nhap vao khong hop le. Chuong trinh ket thuc");
  54.  
  55.  return 0;
  56. }
  57.  
  58.  
  59. int init()
  60. {
  61.         l=NULL;
  62.         return 0;
  63. }
  64. void insert_head(int x)
  65. {
  66.         p=(dslk *)malloc(sizeof(dslk));
  67.         p->info=x;
  68.         p->link=l;
  69.         l=p;
  70. }
  71. void insert_tail(int x)
  72. {
  73.         dslk *q;
  74.         q=(dslk *)malloc(sizeof(dslk));
  75.         p->info=x;
  76.         p->link=NULL;
  77.         if(l==NULL) l=p;
  78.         else
  79.         {
  80.                 q=l;
  81.                 while(q->link!=NULL)
  82.                 {
  83.                         q=q->link;
  84.                 }
  85.                 q->link=p;
  86.         }
  87. }
  88. void delete_head()
  89. {
  90.         if(l==NULL) printf("\n Danh sach rong");
  91.         else
  92.         {
  93.                 p=l;
  94.                 l=l->link;
  95.                 free(p);
  96.         }
  97. }
  98. void delete_tail()  
  99. {
  100.         dslk *q;
  101.         if(l==NULL) printf("\n Danh sach rong");
  102.         else
  103.         {
  104.                 if (l==NULL)
  105.                         {
  106.                                 p=l;
  107.                                 l=NULL;
  108.                                 free(p);
  109.                          }
  110.                  else
  111.                         {
  112.                                 q=l;
  113.                                 while (q->link->link !=NULL)
  114.                                 {      
  115.                                         q=q->link;
  116.                                         p=q->link;
  117.                                         q->link=NULL;
  118.                                         free(p);
  119.                                 }
  120.                         }
  121.                 }
  122. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×