单链表的操作
来源:互联网 发布:highcharts.js 编辑:程序博客网 时间:2024/05/22 01:54
</pre><pre name="code" class="cpp">#include <iostream>using namespace std;struct ListNode{ int m_nvalue; ListNode* m_pNext;};void addToTail(ListNode* pHead,int value){ ListNode *pNode = new ListNode(); pNode -> m_nvalue = value; pNode -> m_pNext =NULL; if(pHead == NULL){ pHead=pNode; } else{ ListNode* pN=pHead; while(pN->m_pNext!=NULL){ pN=pN -> m_pNext; } pN -> m_pNext = pNode; }}void removeNode(ListNode* pHead,int value){ if(pHead==NULL){ return; } ListNode* pToBeDeleted=NULL; if(pHead->m_nvalue==value){ pToBeDeleted=pHead; pHead=pHead->m_pNext; } else{ ListNode* pN=pHead; while(pN->m_pNext!=NULL&&pN->m_pNext->m_nvalue!=value){ pN = pN -> m_pNext; } if(pN -> m_pNext !=NULL && pN -> m_pNext -> m_nvalue == value ){ pToBeDeleted=pN -> m_pNext; pN -> m_pNext =pN -> m_pNext -> m_pNext; } } if(pToBeDeleted != NULL){ delete pToBeDeleted; pToBeDeleted = NULL; }}void print(ListNode* pHead){ if(pHead!=NULL){ ListNode* pN=pHead; while(pN -> m_pNext != NULL){ int n = pN -> m_nvalue; cout << n <<"-->"; pN = pN -> m_pNext; } cout << pN -> m_nvalue; cout << endl; }}void destroyList(ListNode* pHead){ if(pHead == NULL ) return; ListNode* pN=pHead -> m_pNext; while(pN != NULL){ delete pHead; pHead = pN; pN = pN ->m_pNext; //pToBeDeleted = NULL; } delete pHead; pHead = NULL; return;}void printReverse(ListNode* pHead){ if(pHead != NULL){ stack<ListNode*> nodes ; ListNode* pNode = pHead; while(pNode != NULL){ nodes.push(pNode); pNode = pNode -> m_pNext; } while(!nodes.empty()){ pNode = nodes.top(); nodes.pop(); cout << pNode ->m_nvalue << "-->"; } cout << endl; }}int main() {cout << "test\n";ListNode* pHead=new ListNode;pHead -> m_nvalue=1;pHead -> m_pNext=NULL;for(int i = 0; i<10;i++){ addToTail(pHead,i);}//cout << pHead -> m_nvalue;print(pHead);//destroyList(pHead);removeNode(pHead,6);print(pHead);printReverse(pHead);return 0;}
test1-->0-->1-->2-->3-->4-->5-->6-->7-->8-->91-->0-->1-->2-->3-->4-->5-->7-->8-->99-->8-->7-->5-->4-->3-->2-->1-->0-->1-->
0 0
- 简单的单链表操作
- 单链表的基本操作
- 简单的单链表操作
- 单链表的基本操作
- 单链表的操作(C#)
- 单链表的操作
- 单链表的各种操作
- 单链表的操作实现
- 单链表的 操作
- 单链表的基本操作
- 单链表的一些操作
- 单链表的操作
- 关于单链表的操作
- 单链表的各种操作
- 单链表的常用操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的操作
- 数组中只出现一次的数字
- 阿里大鱼短信接口(Python3版)
- R语言画图时常见问题
- eclipse最有用快捷键整理
- Leetcode:257. Binary Tree Paths(JAVA)
- 单链表的操作
- Educational Codeforces Round 9 B. Alice, Bob, Two Teams【水题】
- 关于mini2440无法启动yaffs2的问题
- A-据说题目很水
- 模板:线段树(2)区间修改
- LogUtils
- PCIE配置失败,提示 pci 0000:01:00.0: BAR 4: no space for [mem size 0x00200000]
- web后端开发资源
- 内存溢出 出现原因及解决方案