首页 > 代码库 > [012]链表笔记--在链表中插入一个节点
[012]链表笔记--在链表中插入一个节点
插入的数目为num,如果比head小,则插在链表头;如果比链表中元素都大,则插在结尾;否则插在链表中;
代码如下:
1 Link* Link::Add(Link* pLink, int num) { 2 Link *p1,*p2; 3 p1 = pLink; 4 Link *p0 = new Link; 5 p0->id = num; 6 7 while ((p0->id > p1->id) && (p1->next != NULL)) { 8 p2 = p1; 9 p1 = p1->next;10 }11 // 插在表头或中间12 if(p0->id <= p1->id) {13 // 表头14 if (pLink == p1) {15 p0->next = p1;16 pLink = p0;17 }18 else{19 p2->next = p0;20 p0->next = p1;21 }22 }23 // 插入结尾24 else {25 p1->next = p0;26 p0->next = NULL;27 }
28 return pLink;29 }
[012]链表笔记--在链表中插入一个节点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。