`
javaboy2006
  • 浏览: 187026 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

单向链表倒置

阅读更多
	typedef struct node   
	{   
	        int data;   
	        struct node *link;   
	}NODE;
	
	void reverse(NODE head)   
	{   
	        NODE temp = null;    
	        NODE p = head->link;   
	        head->link = null;// 头结点变为尾结点
	  
	        while(p!=null)   
	        {   
	           temp = p->link;   
	           p->link = head;// 当前结点指针倒置
	           head = p;   
	           p = temp;   
	        }   
	}
分享到:
评论

相关推荐

    实验报告2 链表倒置问题.doc

    如前所述,本实验使用的数据结构为单向链表。 ##### 4.2 源程序 根据实验要求,提供了一个完整的 C 语言源程序示例。其中包括链表的创建 (`CreatList_L`) 和链表倒置 (`change`) 的实现。 #### 五、上机实验 #####...

    单向链表实现倒置,冒泡排序,插入排序,快速排序

    单向链表实现倒置,冒泡排序,插入排序,快速排序,在linux下的gcc实现

    lianbiao.rar_链表倒置

    在单向链表中,每个节点只有一个指针指向其后继节点,而链表的末尾节点的指针为NULL,表示链表的结束。 链表的建立通常涉及以下步骤: 1. 定义节点结构:首先,我们需要定义一个结构体来表示链表的节点,通常包括一...

    带头结点链表的各种操作(c语言)

    /*把带头结点的单链表倒置(以结点形式 )*/ node *Dao_zhi(node *head) { node *p,*s; p=head->next; head->next=NULL; while(p) { s=p; p=p->next; s->next=head->next; head->next=s; } ...

    数据结构实验报告链表

    4. 链表倒置:`Opposite.h`中的`Opposite`函数实现了链表的倒置操作。它通过交换相邻节点的前后指针,将链表反转。 5. 删除偶数节点:`Delete_Double.h`的`Delete_Double`函数实现了删除链表中所有偶数节点的功能。...

    链表的基本操作,插入删除查找等

    根据指针的方向,链表可以分为单向链表、双向链表和循环链表。 1. **单向链表**:每个节点只有一个指针,指向下一个节点。只能从头到尾进行遍历,不能反向遍历。插入和删除操作通常比数组快,因为只需要改变相邻...

    线性表和链表的基本算法

    单向链表的节点只能向前遍历,双向链表支持前后遍历,循环链表的最后一个节点指向第一个节点,形成一个环。 线性表与链表的主要操作包括插入、删除、查找等。在线性表中,插入操作通常需要移动后续元素,以空出位置...

    数据分析,链表相关复习

    1. **单向链表**:不可以直接删除,因为不知道前驱结点。时间复杂度为 `O(n)`。 2. **双向链表**:可以直接删除,时间复杂度为 `O(1)`。 3. **单向循环链表**:如果知道循环链表的尾结点,可以直接删除,时间复杂度...

    C#单链表图形界面

    压缩包中的"C#单向链表的操作演示程序.doc"可能是该项目的详细步骤和代码示例,而"Singly_Linked_List - 副本"可能是源代码文件,包含了链表类和GUI界面的实现。 总的来说,这个项目不仅涵盖了数据结构中的单链表...

    lrucacheleetcode-coderust:使用coderust破解编码面试

    反转单向链表 - , 从链表中删除重复项 - , 删除具有给定键的节点 - 链表的插入排序 - , 两个列表的交点 - , 从最后一个节点开始的第 N 个 - 用头交换第 N 个节点 - 合并两个排序链表 - 归并排序 - , , 反转偶数节点 ...

    lrucacheleetcode-Algorithms:算法

    反转单向链表 - , 从链表中删除重复项 - , 删除具有给定键的节点 - 链表的插入排序 - , 两个列表的交点 - , 从最后一个节点开始的第 N 个 - 用头交换第 N 个节点 - 合并两个排序链表 - 归并排序 - , , 反转偶数节点 ...

    自己整理的C/C++笔试、面试题(完整)

    单向链表类通常包含一个头节点,每个节点包含数据和指向下一个节点的指针。为了实现题目要求的功能,我们需要定义一个`Node`结构体以及一个`LinkedList`类。以下是可能的实现: ```cpp struct Node { int data; ...

    C语言数据结构与简单的算法

    在单向线性链表中,最后一个节点的指针为**空指针**。为了方便管理,有时会在链表的开头添加**头节点**,末尾添加**尾节点**。链表的节点是动态分配的,因此可以灵活调整数量。 数据结构不仅包含存储区,还有一组...

    C程序范例宝典(基础代码详解)

    实例087 创建单向链表 112 实例088 创建双向链表 114 实例089 创建循环链表 117 实例090 双链表逆置 118 实例091 双链表逆序输出 120 实例092 约瑟夫环 122 实例093 创建顺序表并插入元素 123 实例094...

    C++ 基础知识总结_终稿_124.pdf

    4. **forward_list**: 单向链表。 5. **list**: 双向链表。 6. **stack**: 后进先出(LIFO)容器。 7. **queue**: 先进先出(FIFO)容器。 8. **priority_queue**: 最大堆或最小堆实现的优先级队列。 9. **set**: ...

    C++题目汇总终稿 70.pdf

    - **链地址法**:每个槽位存储一个链表,当发生冲突时,将新元素添加到相应链表的末尾。 ### C++面向对象的三大特性和五个原则 #### 三大特性 - **封装**:隐藏对象的具体实现细节。 - **继承**:子类可以从父类...

Global site tag (gtag.js) - Google Analytics