`
375809600
  • 浏览: 153414 次
  • 来自: 湖北
社区版块
存档分类
最新评论

2_链表的反转

 
阅读更多
Stu * ReverseIteratively(Stu* head) {  
	
	Stu *ptr1 = head;  
	Stu *ptr2 = head->pnext;  
	while(ptr2!= NULL ){  
		Stu *ptr3 = ptr2->pnext;  
		ptr2->pnext = ptr1;  
		ptr1 = ptr2;  //实际上就等于ptr1=ptr1->pnext;
		ptr2 = ptr3;  //实际上就等于ptr2=ptr2.pnext;
	}  
	head->pnext = NULL;  
	//head->pnext->num=ptr1->num;
	head=ptr1;
	return head;  
}  

 

分享到:
评论

相关推荐

    ds_lab_3_链表_链表操作_数据结构_

    6. **链表的反转**:这是一个常见的链表操作,通过改变相邻节点间的前后关系实现链表的反转。 7. **合并两个排序的链表**:这是数据结构面试中常见的问题,通过比较两个链表的当前节点并合并较小的一个,直到其中一...

    链表相关编程.rar_逆向_链表_链表合并_链表的合并

    逆向链表是指将链表中的元素顺序反转,即原链表的最后一个元素变为新链表的第一个元素,原第一个元素变为最后一个元素。逆向链表的常见方法有迭代法和递归法。迭代法通常使用三个指针:prev、current和next,初始时...

    链表反转C++源代码

    设计一个将输入数据建立成链表、输出链表数据、利用原空间把链表反转的程序代码。

    链表反转 C/C++

    链表反转是链表操作中的一项基本技能,它涉及到链表节点之间的指针调整,使得链表的顺序与原顺序相反。本文将详细解析链表反转的原理以及C/C++语言下的实现方法。 ### 链表反转原理 链表由一系列节点组成,每个...

    lianbiao.rar_链表基本操作_链表操作

    - **链表的反向**:将链表的顺序反转,这涉及到对节点的重新连接。 链表是数据结构中的基础,理解和熟练掌握链表的各种操作对于编程和算法设计至关重要。通过以上介绍,你应该对链表的基本操作有了更清晰的认识。...

    算法__链表的操作

    3. **逆序操作**:在循环中,不断调整指针指向,使链表节点的顺序反转。`p2->next` 指向 `p1`,然后移动指针,直到 `p3` 变为 `NULL`。 4. **更新头节点**:最后,将 `p2` 设置为新的头节点,返回逆序后的链表。 ##...

    实现双向链表反转

    基于linkedList实现自己的双向链表反转。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    lianbiao.rar.rar_lianbiao_链表

    - 反转链表:改变链表中节点的顺序,使其逆序。 4. **链表的优缺点** - 优点:动态分配空间,插入和删除操作高效,不需移动元素。 - 缺点:访问速度慢,必须从头开始遍历;占用更多内存,因为需要额外的指针存储...

    java链表反转及排序

    在“java链表反转及排序”这个主题中,我们将探讨如何在Java中实现单向链表的反转和排序。首先,我们创建一个链表节点类,包含数据和指向下一个节点的引用: ```java public class ListNode { int val; // 节点值 ...

    c++链表的反转

    c++链表的反转,创建链表,插入链表,链表反转,可下载直接运行。

    代码_反转链表_

    在循环中,我们逐步更新`prev`、`current`和`next`指针,完成链表反转。 总结来说,反转链表是一个基础的链表操作,它可以锻炼我们对指针操作的理解和对链表结构的掌握。在实际编程中,这种问题可能会出现在各种...

    LinkList_Video.rar_链表视频

    此外,视频可能还会介绍链表的其他高级主题,如合并两个已排序的链表、反转链表、判断链表是否有环,以及使用链表实现栈或队列等。 总的来说,“LinkList_Video.rar_链表视频”将为初学者提供链表的全面理解,通过...

    linkedlist_链表_

    链表逆序是指将链表中的元素顺序反转。这可以通过迭代或递归的方式实现。迭代方法通常涉及三个指针,初始时分别指向当前节点、前一个节点和头节点。在遍历过程中,不断交换当前节点与其前一个节点的位置。递归方法则...

    lianbiao.rar_反转链表

    在"lianbiao.c"文件中,实现链表反转的算法通常会采用迭代或递归的方式。下面我们将详细探讨这两种方法: 1. **迭代法**: 迭代法是最常见的链表反转方法,通过三个指针previous、current和next来实现。初始化时,...

    01 链表_链表_askf1p_

    2. **链表的插入**:在链表中插入新节点,需要找到合适的位置,然后更新新节点和前后节点的指针。插入操作的时间复杂度为O(1),因为它不依赖于链表的大小,只与找到插入位置所需的时间有关。 3. **链表的删除**:...

    nixu.rar_链表就地逆置

    "就地逆置"是指不使用额外的存储空间,仅通过修改链表本身来完成链表的反转。这个过程涉及到链表节点指针的重新定向,以达到链表元素顺序反转的效果。 在"nixu.rar_链表就地逆置"的场景中,我们面临的是一个数据...

    C++链表的反转

    ### C++链表的反转知识点解析 #### 一、链表基本概念 链表是一种常见的数据结构...通过上述代码示例,我们可以清晰地理解链表反转的具体实现过程及其背后的逻辑。这些知识点对于深入学习数据结构和算法具有重要意义。

    C语言数据结构 link 链表反转的实现

    C语言数据结构link链表...然后,我们使用revert_link2函数将链表反转,并将反转后的链表输出。 链表反转是一个非常重要的操作,它在实际应用中有着广泛的应用。通过使用堆栈和链表,我们可以轻松实现链表反转操作。

    lianbiao.rar_数据结构作业_链表题

    2. **链表的头节点**:链表的第一个节点,通常用来初始化链表。在代码中,可能会有声明和初始化头节点的语句。 3. **链表的尾节点**:链表的最后一个节点,其指针域为空或指向NULL。处理链表的末尾操作,如添加新...

    链表反转程序

    链表反转程序C++ 运行良好,简单,高效,实用的程序

Global site tag (gtag.js) - Google Analytics