单链表
来源:互联网 发布:sql count 显示多列 编辑:程序博客网 时间:2024/06/03 04:49
//链表删除结点void DeleteNode(ListNode** pListHead,ListNode* pToBeDeleted){ if(pListHead == NULL|| pToBeDeleted == NULL) return; //不是尾 if(pToBeDeleted->m_pnext != NULL) { ListNode* pNext = pToBeDeleted->m_pnext; pToBeDeleted->m_nvalue = pNext->m_nvalue; pToBeDeleted->m_pnext = pNext->m_pnext; delete pNext; pNext = NULL; } //只有一个节点 else if(pToBeDeleted == *pListHead) { delete pToBeDeleted; pToBeDeleted = NULL; *pListHead = NULL; } //尾结点 else { ListNode* pNode = *pListHead; while(pNode->m_pnext != pToBeDeleted) { pNode = pNode->m_pnext; } pNode->m_pnext = NULL; delete pToBeDeleted; pToBeDeleted = NULL; }}
//查找倒数第k个结点ListNode* FindKthToTail(ListNode* pListHead,unsigned int k){ if(pListHead==NULL||k==0) { return NULL; } ListNode* pAhead = pListHead; ListNode* pBehind = NULL; for(unsigned int i=0;i<k-1;++i) { if(pAhead->m_pnext != NULL) { pAhead = pAhead->m_pnext; } else { return NULL; } } pBehind = pListHead; while(pAhead != NULL) { pAhead = pAhead->m_pnext; pBehind = pBehind->m_pnext; } return pBehind;}
//反转单链表(带头节点,从数据节点开始)void ReverseList(ListNode* pHead){ if(pHead==NULL) return ; ListNode*p,*q; p = pHead->m_pnext; while(p!=NULL) { q = p->m_pnext; p->m_pnext = pHead->m_pnext; pHead->m_pnext = p; p = q; }}
//合并两个排序的单链表(不带头节点)ListNode* Merge(ListNode *List1,ListNode *List2){ if(List1==NULL) return List2; else if(List2==NULL) return List1; ListNode* pMergedHead = NULL; if(List1->m_nvalue<List2->m_nvalue) { pMergedHead = List1; pMergedHead->m_pnext = Merge(List1->m_pnext,List2); } else { pMergedHead = List2; pMergedHead->m_pnext = Merge(List1,List2->m_pnext); } return pMergedHead;}
阅读全文
0 0
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- 单链表
- XAMPP错误: Apache shutdown unexpectedly解决办法
- Android(3):编辑使用点9图和设置字体颜色
- 网易编程笔试题(一):合唱团
- 简单的滚动切换
- USB-SAMBA Service (RDK-B)
- 单链表
- 关于request、response转发与重定向的简述
- Crashing Robots (复杂模拟)
- 如何金蝶bos处理调试异步队列时发生异常
- WampServer图标为黄色,无法启动的解决办法及思路
- App测试中ios和Android的区别
- Qt Creator 安装、汉化及helloworld程序
- java导出Excel通用方法
- 阻塞队列与非阻塞队列