إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

Linked list operations

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • Linked list operations

    1. inserting
    2. deleting


    insert
    كود PHP:
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>


    struct node
    {
           
    char name[50];
           
    struct node *link;
    };

    struct node *insert(struct node *char *name)
    {
           
    struct node *tmp;
          
           if( 
    == NULL)
           {
               
    p=malloc(sizeof(struct node ));
              
               
    strncpy(p->name name sizeof(p->name));
               
    p->link=NULL;
              
               }
               else
               {
                   
    tmp=p;
                   while(
    tmp->link != NULL)
                   
    tmp=tmp->link;
                  
                   
    tmp->link=malloc(sizeof(struct node));
                  
                   
    tmp=tmp->link;
                   
    strncpy(tmp->name,name,sizeof(tmp->name));
                   
    tmp->link=NULL;
                  
               }
           return 
    p;
    }

    void print(struct node *p)
    {
         while(
    p!=NULL)
         {
         
    printf("Name=%s\n",p->name);
         
    p=p->link;
         }
    }

    int len(struct node *p)
    {
        
    int i=0;
        while(
    p!=NULL)
        {
                      ++
    i;
                      
    p=p->link;
        }
    return 
    i;
    }

    struct node *insert_next_to(struct node *int node_no char *name)
    {
           
    struct node *t,*t1;
          
           
    int i=1;
          
           if(
    p==NULL)
           {
                      
    fprintf(stderr,"Not Such A list\n");
                                      
    /*edit:here we should End this functions because this function doesn't like to have a NULL pointer*/
                                      
    exit(1);
                      }
                      if(
    node_no == 0)
                      {
                                 
    t=malloc(sizeof(struct node ));
                                 
    strncpy(t->name name sizeof(t->name));
                                 
    t->link=p/* make it point to the first structure in the list*/
                                 
    p=t/* make the head point to it*/
                                 
    }
                                  else
                                  {  
                                      if(
    node_no len(p))
                                      {
                                      
    fprintf(stderr,"Error\n");
                                      }
                                      else
                                      {
                                       
    t=p;

                                      while(
    node_no)
                                      {
                                              
    i++;
                                              
    t=t->link;;
                                      }
                                      
                                      
                                      
    t1=malloc(sizeof(struct node ));
                                      
    strncpy(t1->name name sizeof(t1->name));
                                      
                                      
    t1->link t->link;
                                      
    t->link t1;
                                
                                 }
                                 }

           return 
    p/* return the list*/
    }
                                      
                                      
                                      
                                      
                                                              
                          
                                      

    int main int argc char **argv )
    {
        
    int ch,i=1;
        
    struct node *start=NULL;
        
        
        if(
    argc 2)
        {
                
    printf("Usage::%s Strings",argv[0]);
                exit(
    1);
        }
                while( 
    argc)
                {
                      
    start=insert(start argv[i]);
                      
    i++;
                }
                
                      
    printf("Before\n");
                    print(
    start);
                 
    start=insert_next_to(start,0,"----------Storm---------");
                 
    printf("After\n");
                 print (
    start);    


        

    return 
    0;

    deleting
    كود PHP:
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>


    struct node
    {
           
    char name[50];
           
    struct node *link;
    };

    struct node *insert(struct node *char *name)
    {
           
    struct node *tmp;
          
           if( 
    == NULL)
           {
               
    p=malloc(sizeof(struct node ));
              
               
    strncpy(p->name name sizeof(p->name));
               
    p->link=NULL;
              
               }
               else
               {
                   
    tmp=p;
                   while(
    tmp->link != NULL)
                   
    tmp=tmp->link;
                  
                   
    tmp->link=malloc(sizeof(struct node));
                  
                   
    tmp=tmp->link;
                   
    strncpy(tmp->name,name,sizeof(tmp->name));
                   
    tmp->link=NULL;
                  
               }
           return 
    p;
    }

    void print(struct node *p)
    {
         while(
    p!=NULL)
         {
         
    printf("Name=%s\n",p->name);
         
    p=p->link;
         }
    }

    int len(struct node *p)
    {
        
    int i=0;
        while(
    p!=NULL)
        {
                      ++
    i;
                      
    p=p->link;
        }
    return 
    i;
    }

    struct node *del(struct node *int node_no)
    {
           
    struct node *prev,*current;
           
    int i=1;
          
           if(
    p==NULL)
           {
                      
    printf("No List To Traverse\n");
           }
           else
           {
               if(
    node_no len(p))
               {
                    
    printf("Between 1 and %d\n",len(p));
                    
               }
               else
               {
              
               
    prev=NULL;
               
    current=p;
              
                         while(
    node_no)
                         {
                                 
    prev=current;
                                 
    current=current->link;
                                 
    i++;
                         }
                        
                         if(
    prev==NULL/* in case of delation at head*/
                         
    {
                                        
    p=p->link;
                                        
    free(current);
                         }
                         else
                         {
                             
    prev->link current->link;
                             
    free(current);
                         }
               }
           }
           return 
    p;
    }

    int main int argc char **argv )
    {
        
    int ch,i=1;
        
    struct node *start=NULL;
        
        
        if(
    argc 2)
        {
                
    printf("Usage::%s Strings",argv[0]);
                exit(
    1);
        }
                while( 
    argc)
                {
                      
    start=insert(start argv[i]);
                      
    i++;
                }
                
                    print(
    start);
                 
    printf("\nEnter The Element you want to delete it\n");
                 
    scanf("%d",&ch);
                 
    start=del(start,ch);
                 print (
    start);    


        

    return 
    0
    اهداء ل : sofy , striker
    وبالاخص striker return of python monks
    ااجزء الاخير كان حكايه خاصة لما كلكم حلقتم اقرع في وش مبرمجين ال c
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    ااجزء الاخير كان حكايه خاصة لما كلكم حلقتم اقرع في وش مبرمجين ال c
    You'll Get kicked any way hehehe says:
    علي فكره انا وصلت لحد شابتر 2 في بايثون
    OWNED

    بصراحة ال Data Structures مع ال C بكل امانة SUCKS!
    شكرا ياعم على الإهداء .. تعيش وتقع فى forever loop
    Programming-Fr34ks[dot]NET
    Ma Weblog
    ابدأ بتعلم Python | Ruby
    كتاب البايثون متوافر الآن
    لا اتواجد بهذا المنتدى ... للإتصال

    تعليق


    • #3
      ahmed : 09:48:16 am

      لو لهنا فى مصر .net او java بدون تالت
      يعني سعاتك كده في اقرب محل شاورمه
      فكرتني انا جعان

      ومش sucks ! يابني داحنا spoiled علي الاخر
      BOOOF , I AM GONE
      Still , you gotta wait for my PRESENT :D
      C programming arabic Tutorial|Programming-fr34ks

      تعليق


      • #4
        You'll Get kicked any way hehehe says:
        شهادة sun بتاعت ال java بكام
        لاتعليق :P

        edit
        ومش sucks ! يابني داحنا spoiled علي الاخر
        انت هتعمل فيها زى المجنون اللى كان بيقول مبرمجين السى مدلعين عشان عندهم libs ؟
        روح اكتبها Binary ولا تزعل نفسك
        Programming-Fr34ks[dot]NET
        Ma Weblog
        ابدأ بتعلم Python | Ruby
        كتاب البايثون متوافر الآن
        لا اتواجد بهذا المنتدى ... للإتصال

        تعليق


        • #5
          http://programming-fr34ks.net/forum/...t=0&#entry1822
          BOOOF , I AM GONE
          Still , you gotta wait for my PRESENT :D
          C programming arabic Tutorial|Programming-fr34ks

          تعليق


          • #6
            مشكور مرة أخرى يا ستورم ... لكن سؤال: شمعنا الحذف في برنامج والإضافة في آخر
            ليه ما عملتهم كل واحد Function أو Procedure ألي هي المهم مش منفصلين

            إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

            إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
            ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
            فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
            إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
            ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
            وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

            [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

            تعليق


            • #7
              تم التسيف للاستفاده منه لاحقاً ....
              كود:
              #include<stdio.h> 
              main() 
              { 
              int i=4; 
              i= i++ * ++i; 
              printf("%d",i); 
              }
              ستورم + سترايكتر
              شباب شوفوو يوزري فى الـ programming-fr34ks عملت استعاده مو ضابط معاي ^_^

              bad3r

              Twitter
              : @Linux4SA

              تعليق


              • #8
                المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة
                مشكور مرة أخرى يا ستورم ... لكن سؤال: شمعنا الحذف في برنامج والإضافة في آخر
                ليه ما عملتهم كل واحد Function أو Procedure ألي هي المهم مش منفصلين

                كان ممكن بس ذي مانت شايف دوت لهدف توضيحي
                لو كان لبرنامج كان كلامك يبقي صح بس حيكون كمان اقل من الكتابه الي كتبتها ديت كلها
                بس لازم توضيح
                منور
                BOOOF , I AM GONE
                Still , you gotta wait for my PRESENT :D
                C programming arabic Tutorial|Programming-fr34ks

                تعليق


                • #9
                  المشاركة الأصلية بواسطة BAD3R مشاهدة المشاركة
                  تم التسيف للاستفاده منه لاحقاً ....
                  كود:
                  #include<stdio.h> 
                  main() 
                  { 
                  int i=4; 
                  i= i++ * ++i; 
                  printf("%d",i); 
                  }
                  ستورم + سترايكتر
                  شباب شوفوو يوزري فى الـ programming-fr34ks عملت استعاده مو ضابط معاي ^_^

                  bad3r
                  ماشي يابدر :D
                  BOOOF , I AM GONE
                  Still , you gotta wait for my PRESENT :D
                  C programming arabic Tutorial|Programming-fr34ks

                  تعليق

                  يعمل...
                  X