单向链表逆置的功能实现
来源:互联网 发布:qq刷钻软件下载 编辑:程序博客网 时间:2024/05/23 00:04
单向链表是一种非常重要的数据结构。在单向链表中可以实现的常见算法诸如插入、删除都是最为基本的操作。本文将讨论一种对单向链表特殊的操作,即单向链表的逆置。
所谓的逆置,就是在不新建结点的情况下,实现将每个结点的指针域指向由原来的指向后一个结点改为指向前一个结点。具体的实现代码如下:
int INversesingle_Link(LinkList &head){ LNode *p,*q,*r;//q和r将分别指向p的后一个或前一个结点 if(head==NULL||head->next==NULL) { return false; } r=head; p=head->next; while(p!=NULL) { //将q前进一个结点 q=p->next;//如果r为头结点,则将p的指针域指向NULL,否则指向前一个结点if(r==head){p->next=NULL;}else{p->next=r;}//将r前进一个结点 r=p;//当q为NULL时将头结点的指针域指向最后一个结点p,使其变为第一个结点。if(q==NULL){head->next=p;}//将p前进一个结点p=q; } return true;}
如上的代码片段即可实现单向链表的逆置。
0 0
- 单向链表逆置的功能实现
- 单向链表类的实现
- 用单向链表实现队列功能
- 创建不带表头结点的单向链表,并实现各种功能
- 创建带表头结点的单向链表,并实现各种功能
- 单向单链表的java实现
- 单向链表的实现
- 单向链表的实现
- 简单单向list的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- 单向链表的实现
- C语言单向链表的实现
- java 单向链表的实现
- C#单向链表的实现
- C语言实现的单向链表
- 单向链表的c++实现
- 使用Xcode 5创建(静态库)--Good
- Activity绑定service
- Java虚拟机工作原理详解
- IntentService
- [WHY] 一些编程相关的分享
- 单向链表逆置的功能实现
- Hdu-5053 the Sum of Cube(水题)
- 利用后台服务下载网络数据
- uC/OS-ii 学习步骤及书籍推荐
- 顺序表的各种算法NS图
- service aidl
- 网络流 - Edmond-Karp 小讲 【 理解 + 例题 】 更新 ing...
- mysql之my.cnf配置详解
- c#栈与堆