Inserting a node by using recursive programs : Linked list « Data Structure « C Tutorial

Home
C Tutorial
1.Language
2.Data Type
3.String
4.printf scanf
5.Operator
6.Statement
7.Array
8.Function
9.Structure
10.Pointer
11.Memory
12.Preprocessor
13.File
14.Data Structure
15.Search Sort
16.Wide Character String
17.assert.h
18.ctype.h
19.math.h
20.setjmp.h
21.signal.h
22.stdio.h
23.stdlib.h
24.string.h
25.time.h
26.wctype.h
C / ANSI-C
C++
C++ Tutorial
Visual C++ .NET
C Tutorial » Data Structure » Linked list 
14.1.2.Inserting a node by using recursive programs
# include <stdio.h>
   # include <stdlib.h>
   struct node
   {
      int data;
      struct node *link;
   };
   struct node *insert(struct node *p, int n)
   {
      struct node *temp;
      if(p==NULL)
      {
         p=(struct node *)malloc(sizeof(struct node));
         if(p==NULL)
         {
             printf("Error\n");
             exit(0);
         }
         p-> data = n;
         p-> link = NULL;
      else{
         p->link = insert(p->link,n);
      }
      return (p);
   }
   void printlist struct node *p )
   {
         printf("The data values in the list are\n");
         while (p!= NULL)
         {
            printf("%d\t",p-> data);
            p = p-> link;
         }
   }
   void main()
   {
         int n =10;
         int x;
         struct node *start = NULL ;

         while n-- > )
         {
            start = insert start, n );
         }
         printf("The created list is\n");
         printlist start );
   }
The created list is
The data values in the list are
9       8       7       6       5       4       3       2       1       0
14.1.Linked list
14.1.1.Linked Lists
14.1.2.Inserting a node by using recursive programs
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.