单链表反转-C++
来源:互联网 发布:淘宝客服发展前景 编辑:程序博客网 时间:2024/06/06 06:50
struct Link
{
int data;
Link *next;
};
void reverse(Link* &head)
{
if((head==NULL)||(head->next==NULL)) return ;
Link* pNext=NULL;
Link* pPrev=head;//保存链表头指针
Link* pCur=head->next;//获取当前节点
pPrev->next=NULL;//将头部指针的下一个节点置空
while(pCur!=NULL)
{
pNext=pCur->next;// 将下一个节点保存下来
pCur->next = pPrev;// 将当前节点的下一节点置为前节点
pPrev = pCur;// 将当前节点保存为前一节点
pCur = pNext;// 将当前节点置为下一节点
}
head=pPrev;
return;
}
void printLink(Link* link)
{
Link* p=link;
cout<<"打印链表"<<endl;
while(p!=NULL)
{
cout<<p->data<<";";
p=p->next;
}
return;
}
Link* creatLink()
{
Link* head=new Link;
head->data=0;
head->next=NULL;
Link* p1=head;
for(int i=0;i<9;i++)
{
Link* p=new Link;
p->data=i+1;
p1->next=p;
p->next=NULL;
p1=p;
}
return head;
}
int _tmain(int argc, _TCHAR* argv[])
{
Link* link=creatLink();
//printLink(link);
reverse(link);
printLink(link);
return 0;
}
{
int data;
Link *next;
};
void reverse(Link* &head)
{
if((head==NULL)||(head->next==NULL)) return ;
Link* pNext=NULL;
Link* pPrev=head;//保存链表头指针
Link* pCur=head->next;//获取当前节点
pPrev->next=NULL;//将头部指针的下一个节点置空
while(pCur!=NULL)
{
pNext=pCur->next;// 将下一个节点保存下来
pCur->next = pPrev;// 将当前节点的下一节点置为前节点
pPrev = pCur;// 将当前节点保存为前一节点
pCur = pNext;// 将当前节点置为下一节点
}
head=pPrev;
return;
}
void printLink(Link* link)
{
Link* p=link;
cout<<"打印链表"<<endl;
while(p!=NULL)
{
cout<<p->data<<";";
p=p->next;
}
return;
}
Link* creatLink()
{
Link* head=new Link;
head->data=0;
head->next=NULL;
Link* p1=head;
for(int i=0;i<9;i++)
{
Link* p=new Link;
p->data=i+1;
p1->next=p;
p->next=NULL;
p1=p;
}
return head;
}
int _tmain(int argc, _TCHAR* argv[])
{
Link* link=creatLink();
//printLink(link);
reverse(link);
printLink(link);
return 0;
}
上面的代码可以执行通过。这几天教学生,才知道很多东西都学得不是很清楚。要深刻反思下。
- C语言反转单链表
- 单链表反转 c实现
- 单链表反转C代码
- C语言反转单链表
- 单链表反转(C++)
- 反转单链表(C)
- 单链表的反转实现(C++)
- 数据结构 - 反转单链表(C++)
- 单链表反转C语言实现
- 单链表反转(C代码)
- 单链表反转C语言实现
- 单链表反转C语言实现
- C语言:单链表的反转
- C:单链表反转(循环)
- C语言:【单链表】逆置反转单链表
- [c] 单链表创建,打印和反转
- 逆置/反转单链表(C语言)
- 字符串反转(C/C++)
- 6个常见的 PHP 安全性攻击
- 脱网情况下windows和虚拟机进行连接 虚拟机上网的三种模式
- 服务器群集硬件兼容性列表,以及 Windows 服务器目录的 Microsoft 支持策略
- 《linux设备驱动开发详解》学习之globalmem
- SharePoint2013预览(一)
- 单链表反转-C++
- python资料汇总
- TCP/IP详解基于4.4BSD-Lite源码
- ruby +watir +cucumber 安装
- Android OpenGL ES 2.0画立方体JNI实现
- 正在设定sun-java6-jre解决方法
- linux: C++ create JVM to invoke Java method
- 浅析StackTrace
- CentOS 5.X 安装 GForge ,安装 postgresql (gforge安装)