首页 > 代码库 > 算法:链表
算法:链表
通过链表的一些题目,了解链表的基本操作实现,掌握递归算法的基本思路,掌握扎实的编程习惯。
一、单链表基本操作
1.1、单链表节点定义
struct ListNode{ int value; ListNode *pNext;};
1.2、在尾部插入节点
void AddToTail(ListNode *pHead, int value){ /* * 尾部插入 * 添加空的头结点,简化代码 */ ListNode *node = new ListNode(); node->value =http://www.mamicode.com/ value; node->pNext = NULL; ListNode *p = pHead; while (p->pNext != NULL) { p = p->pNext; } p->pNext = node;}
1.3、删除第一个含有某值得节点
void RemoveNode(ListNode *pHead, int value){ if (pHead->pNext == NULL) { return; } ListNode *p = pHead; while (p->pNext != NULL && p->pNext->value != value) { p = p->pNext; } if (p->pNext != NULL) { ListNode *p1 = p->pNext; p->pNext = p1->pNext; delete p1; }}
二、有点难度的问题
2.1、
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。