从尾到头打印链表
来源:互联网 发布:win7 64位数据库下载 编辑:程序博客网 时间:2024/06/06 04:52
1.第一种方法:
我们可以利用stack先进后出的特性来进行中转。
stack<Node*> s;
Node*p=head->next;
while(p)
{
s.push(p);
p=p->next;
}
while(!s.empty())
{
printf("%d",s.top()->data);
s.pop();
}
这样很容易就能让链表倒序输出。
2.第二种方法:
我们也可以用递归函数来倒换
void printListrever(Node *pHead)
{
if(pHead==NULL)
{
return;
}
printListrever(pHead->next);
printf("%d",pHead->data);
}
这样也能让链表倒序输出,只是鲁棒性差(不能有太深层的递归)。
3.第三种方法
我们可以对链表进行反转后顺序输出。
void reserv(Node * pHead)
{
Node*pPre=pHead;
if(pHead->next==NULL)
{
return;
}
Node*pCur=pPre->next;
if(pCur->next==NULL)
{
return;
}
Node*pPost=pCur->next;
while(pPost)
{
pCur->next=pPre;
if(pPre==pHead)
{
pCur->next=NULL;
}
pPre=pCur;
pCur=pPost;
pPost=pPost->next;
}
pCur->next=pPre;
pHead->next=pCur;
}
输出后还须给转过回来。
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 如何用MFC创建透明画板
- Mac下一些小工具安装报错Note
- 面向对象编程(2)
- javascript +.net 构建restful API 应用
- Vmware Tools安装出错的解决方法
- 从尾到头打印链表
- 链表的实现(二)
- Flex SuperTabNavigator中SuperTab关闭按钮样式修改
- 对比jQuery和AngularJS的不同思维模
- leetcode 151 —— Reverse Words in a String
- Android 代码混淆的实践
- Channel Allocation(POJ--1129
- myEclipse 控制台输出日子中问乱码的解决办法
- AJAX中不跨域和跨域问题的解决方法