码迷,mamicode.com
首页 > 编程语言 > 详细

链表源代码(C语言实现)

时间:2015-07-19 14:57:16      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

源代码(C语言实现)

      ①.构造链表节点

             typedef struct Node    //一个单独的节点
                   {
                         int data;//数据域
                         struct Node * pNext;//指针域
                    }NODE,* PNODE;

         ②.链表的初始化

           PNODE init_list()
                  {
                          int len ;//链表的长度
                          int i;//循环开关
                          int val;//节点的值

                          PNODE pHead = (PNODE)malloc(sizeof(NODE));//造出头结点

                          if (NULL==pHead)
                          {
                               printf("链表动态分配失败!程序终止!\n");
                               exit(-1);
                          }
                          else
                          {
                                printf("请输入要创建链表的长度len=");
                                scanf("%d",&len);

                                if (0==len)
                                {   
                                     pHead->pNext = NULL;
                                      return pHead;  //对空链表的处理
                                 }
                                 if (len<0)  //对长度为负数的处理
                                  {
                                         printf("链表的长度不能为负数!\n");
                                         exit(-1);
                                  }

                                 PNODE pTail = pHead;//pTail指向的是尾节点
                                 pTail->pNext = NULL;

                                 for (i=0;i<len;i++)
                                  {
                                       PNODE pNew = (PNODE)malloc(sizeof(NODE));//造出新的节点
                                       printf("请输入第%d个节点的数值val =",i+1);
                                       scanf("%d",&val);

                                       pNew->data = val;  //赋值
                                       pTail->pNext = pNew; //连接新的节点
                                       pTail = pNew;      //pTail后移
                                   }
                                   pTail->pNext = NULL;//最后一个节点的指针域必须为空
                                   return pHead; //返回头结点以用来表示整个链表


                                     }
                  }

链表源代码(C语言实现)

标签:

原文地址:http://www.cnblogs.com/x113/p/4658593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!