Node* p1  p2  p3

思路:开始时,p1为NULL,p2=phead,p3=p2—>next。使p2—>next = p1,然后使p1=p2,p2=p3。如果只有1个结点则此时p2为NULL,结束循环;否则继续执行,直到p2为NULL。

注意:注意代码鲁棒性!判断头结点为NULL;如果只有一个结点。

 #include <iostream>
using namespace std; class Node
{
public:
Node(int v, Node* n)
{val = v;
next = n;}
~Node(){}
int val;
Node* next;
};
Node * phead = NULL;
Node * pReverseHead = NULL; void AddNode(int val)
{
Node* pnode = new Node(val,NULL);
//Node one_node(val,NULL); 这里有大bug!如果这样写,在函数退出时自动调用析构函数!链表就乱了!
if(phead == NULL)
{
phead = pnode;
}
else
{
Node* p = phead;
while(p->next != NULL)
{
p = p->next;
}
p->next = pnode;
}
}
void PrintLink()
{
Node* p = phead;
while(p != NULL)
{
int temp = p->val;
cout<<temp<<endl;
p = p->next;
}
}
void PrintLinkReverse()
{
Node* p = pReverseHead;
while(p != NULL)
{
int temp = p->val;
cout<<temp<<endl;
p = p->next;
}
}
Node* ReverseLink()
{
Node* pPrev = NULL;
Node* pNode = phead;
Node* pNext;
if(phead == NULL) return NULL;
while(pNode != NULL)
{
pNext = pNode->next;
if(pNext == NULL)
{
pReverseHead = pNode;
} pNode->next = pPrev;
pPrev = pNode;
pNode = pNext; }
return pReverseHead;
}
int main()
{
int val;
cin>>val;
while(val != )
{
AddNode(val);
cin>>val;
}
PrintLink();
Node* pReverseHead = ReverseLink();
cout<<"Reverse:"<<endl;
PrintLinkReverse();
return ;
}

最新文章

  1. BZOJ 2081: [Poi2010]Beads
  2. android webView开发之js调用java代码示例
  3. python 后台爆破工具
  4. 依据BOM和已经存在的文件生成其他种类的文件
  5. GIT@OSC中托管Android studio代码
  6. mysql存储过程对900w数据进行操作测试
  7. ajax post 传参
  8. Acronis 备份使用
  9. OpenGL光照测试
  10. Linux 配置
  11. CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
  12. android ListView和GridView拖拽移位具体实现及拓展
  13. http soap关系
  14. plsql developer连接64位Oracle11g的解决方法
  15. Java中的“&amp;”和“&amp;&amp;”的区别
  16. QT Designer基础——登录界面设计基础版2
  17. urls.py路由系统分发的本质
  18. 全面了解TCP/IP到HTTP
  19. UVa 1426 Discrete Square Roots (扩展欧几里德)
  20. 一步一步学习Android开发

热门文章

  1. Python--数据类型整理
  2. webstorm 设置IP 访问 手机测试效果
  3. springboot实战--笔记
  4. go echo studygolang ___go_build_myT_go__1_.exe
  5. aop学习总结一------使用jdk动态代理简单实现aop功能
  6. Machine Learning No.1: Linear regression with one variable
  7. HTML初级教程
  8. java基础以及操作Excle
  9. chrome最小字体12px
  10. HDU4850 Wow! Such String! —— 字符串构造