首页 > 其他分享 >ds:带头结点的单链表与不带头结点的单链表区别

ds:带头结点的单链表与不带头结点的单链表区别

时间:2023-05-04 22:33:15浏览次数:36  
标签:结点 单链 带头 删除 next NULL

 

写在前边:单链表都有头指针,不一定有头结点;有无头结点的单链表,定义时数据类型都一样,只是初始化时、插入、删除时不同。

 

一、带头结点的单链表

头结点:为方便编写代码而设置的头结点。存储结构:L->头结点->a1->a2->NULL,头结点不存储数据

初始化:malloc申请空间后要L->next = NULL

遍历:第一个元素的值是L->next->data

插入:正常的后插,s = L->next; L->next = s;即可

删除:正常的删除,q = L->next; q->next = L->next; free(q);

 

二、不带头结点的单链表

存储结构:L->a1->a2->NULL

初始化:malloc申请空间后要L= NULL

遍历:第一个元素的值是L->data

插入:s ->next = L; L = s;

删除:

 

标签:结点,单链,带头,删除,next,NULL
From: https://www.cnblogs.com/jinziguang/p/17372738.html

相关文章

  • ds:单链表
    写在前边:单链表:1.带头结点的单链表:L头指针->头结点(data域不存数据元素,只指向下一个元素)->a1->a2->..->NULL2.不带头结点的单链表:L头指针->a1->a2...->NULL以上两种区别在于:无头结点的单链表在进行插入/删除元素时要对i=1的情况做特殊处理 一、带头结点的单链表基本操作#......
  • 【数据结构】链式型存储结构-循环单链表
    1 前言对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。这样一来,不从头结点出发,这样就无法访问到全部结点。为了解决这个问题,我们只需要将单链表的尾结点的指针由空指针改为指向头结点......
  • 【数据结构】链式型存储结构-单链表
    1 前言线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置。比起顺序存储结构每个元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据信息外,还要存储它的后继元素的存储地址(指针)。也就是说......
  • c#-单链表
    namespaceMyLink;publicclassMyLinkedList{privateint_size{get;set;}publicclassMyTreeNode{publicintval{get;set;}publicMyTreeNodenext{get;set;}publicMyTreeNode(intval){this.val=val;......
  • java设计单链表
    packagelinked;/***@date2023/4/2622:51*@description单链表*/publicclassSingleLinkedList{privateintsize=0;privateNodehead;privateNodetail;publicstaticclassNode{privateObjectdata;privateNodenext;......
  • 两个链表的第一个公共结点
    使用空间存储节点的解法classSolution{public:set<ListNode*>s;ListNode*findFirstCommonNode(ListNode*headA,ListNode*headB){for(autoi=headA;i;i=i->next)s.insert(i);for(autoi=headB;i;i=i->next)......
  • 实现二叉树结点的新建、查找、修改
     如果需要新建结点(例如往二叉树里面插入结点时,可使用下面的函数(返回类型是一个指向node的指针)node*newNode(intv){nodeNode=newnode;//申请一个node类型变量的地址空间Node->data=v;//结点权值为vNode->lchild=Node->rchild=NULL;//初始状态下无左右孩子retur......
  • 两两交换链表中的结点
    题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)  步骤: classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummyHead=newListNode(0);//......
  • [Leetcode]找出链表公共结点
    力扣链接思路:先求出两个链表的长度差长链表先走差距步同时走,第一个地址相同的是交点代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*getIntersectionNode(structListNode*he......
  • 1115 二叉搜索树最后两层结点数量
    二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值它的左、右子树也分别为二叉搜索树将一系列数字按顺序插入到一个空的二叉搜索树中,然后,请你......