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


    源代码(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("链表动态分配失败!程序终止! ");
                                   exit(-1);
                              }
                              else
                              {
                                    printf("请输入要创建链表的长度len=");
                                    scanf("%d",&len);

                                    if (0==len)
                                    {   
                                         pHead->pNext = NULL;
                                          return pHead;  //对空链表的处理
                                     }
                                     if (len<0)  //对长度为负数的处理
                                      {
                                             printf("链表的长度不能为负数! ");
                                             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; //返回头结点以用来表示整个链表


                                         }
                      }

  • 相关阅读:
    OpenCV特征描述
    OpenCV特征点检测
    expect实现无交互操作
    文件的修改时间
    sshd登录攻击
    tcp三次握手和syn 洪水攻击
    vim使用
    PHP拓展开发
    【转】LINUX 手动建立SWAP文件及删除
    Ubuntu下crontab命令的用法
  • 原文地址:https://www.cnblogs.com/timssd/p/4658593.html
Copyright © 2020-2023  润新知