单链表按位序插入

编程入门 行业动态 更新时间:2024-10-24 01:56:22

单<a href=https://www.elefans.com/category/jswz/34/1769662.html style=链表按位序插入"/>

单链表按位序插入

按位序插入(带头结点)

#define NULL 0typedef struct LNode
{int data;struct LNode *next;
}LNode,*LinkList;//在第i个位置插入数据e(带头结点)
bool ListInsert(LinkList &L, int i, int e){if (i<1)return false;LNode *p = L;           //指针p指向当前扫描结点,目前指向头结点,是第0个int j = 0;              //当前p指向第几个结点while (p!=NULL && j<i-1)          //循环指到第i-1个结点{p = p->next;j++;}if(p == NULL)           //i值不合法return false;LNode *s = (LNode*)malloc(sizeof(LNode));       //插入的新结点s->data = e;s->next = p->next;p->next = s;        //将结点s连到p后return true;}

按位序插入(无头结点)

#define NULL 0typedef struct LNode
{int data;struct LNode *next;
}LNode,*LinkList;//在第i个位置插入数据e(带头结点)
bool ListInsert(LinkList &L, int i, int e){if (i<1)return false;if (i == 1) {                //插入第1个结点操作不同LNode* s = (LNode*)malloc(sizeof(LNode));s->data = e;s->next = L;L = s;return true;}//下面和带头结点一样操作LNode *p = L;           //指针p指向当前扫描结点,目前指向头结点,是第0个int j = 0;              //当前p指向第几个结点while (p!=NULL && j<i-1)          //循环指到第i-1个结点{p = p->next;j++;}if(p == NULL)           //i值不合法return false;LNode *s = (LNode*)malloc(sizeof(LNode));       //插入的新结点s->data = e;s->next = p->next;p->next = s;        //将结点s连到p后return true;
}


不带头结点写代码不方便,推荐带头结点

更多推荐

单链表按位序插入

本文发布于:2023-11-15 11:31:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598873.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链表   按位序

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!