c语言中单链表的逆置
单链表的逆置方法这里介绍两种(头插法和原地逆置法)
- 头插法
通过两个指针的移动,以原表的头指针为中间量,让原表的元素依次连接在逆置表的表头
typedef struct node
{int data;struct node *next;
}Node;
Node *converse(Node*head)
{Node *p,*q;
p=head->next;//p指向原表第一个数据元素
head->next=NULL;//逆置表初始为空
while(p)//p指到原表尾的next跳出
{/*移动*/q=p;p=p->next;
/*插入*/
q->next=head->next;//通过中间量(逆置表的表头)连接
head->next=q;//head始终指向p的前一个元素(用q存储)
return head;
}
}
*输出时应注意此时逆置表是一个有表头结点的单链表
- 原地逆置法
利用函数的递归调用找到尾结点,然后通过回溯
逆序。
Node *converse (Node* head)
{Node*base;if(head->next==NULL)return head;/*递归*/base=coverse(head->next);//递归结束后head为尾结点的前驱 /*回溯*/head->next->next=headhead->next=NULL;return base;//逆置表的表头
此时逆置表为无表头结点的单链表
若有不妥之处,恳请指正。
c语言中单链表的逆置相关推荐
- 头插法逆置单向链表c语言,单链表的逆置(头插法和就地逆置)
今天课间的时候偶然看到了一个面试题:单链表的逆置,看了题解感觉乖乖的,貌似和以前看的版本不搭,于是重新进行了一番探究 单链表的逆置分为两种方法:头插法和就地逆置法,这两种方法虽然都能够达到逆置的效果, ...
- c语言单链表就地逆置编程,C++ 单链表的 就地逆置 ,以及基本操作
#include "stdafx.h" #define sub(a,b) a-b //没用 #include using namespace std; struct node { ...
- 逆置单链表c语言程序,(数据结构C语言版)顺序表和单链表的逆置
<(数据结构C语言版)顺序表和单链表的逆置>由会员分享,可在线阅读,更多相关<(数据结构C语言版)顺序表和单链表的逆置(7页珍藏版)>请在人人文库网上搜索. 1.实验1-1顺序 ...
- C语言实现单链表的逆置
单链表的逆置是一个非常经典的问题,这里利用两个思想进行解决. 首先,我们需要看下原理图,其实两个思想都是一样的,都是使后一个的节点的 next 指针指向前一个节点,依次递推,直 ...
- C语言实现单链表的逆置-实训
任务描述 本关需要你设计一个程序,实现单链表的逆置. 相关知识 单链表的逆置分为两种方法:头插法和就地逆置法,这两种方法虽然都能够达到逆置的效果,但还是有着不小的差别. 编程要求 按程序提示输入并创建 ...
- 无头结点单链表的逆置_单链表的增删查 逆置 倒数第k个节点等问题
对于单链表而言,它没有双链表那么复杂,它只有头节点,尾节点,节点数据,后继指针.在下面本人实现了 单链表的 增 删 插 查 改. #include #include #include #i ...
- SDUT_2118 数据结构实验之链表三:链表的逆置
点击打开链接 数据结构实验之链表三:链表的逆置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem De ...
- 每日程序C语言43-链表原地逆置
题目: 反向输出一个链表-原地逆置 程序分析 在我们创建链表的时候使用头插法创建的链表,其顺序就是逆序的,我们可以在该链表的基础上进行逆置 主要代码 main.c typedef struct Nod ...
- 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
## 问题描述 > 试编写在带头结点的单链表就地逆置,所谓"就地"是指辅助空间为O(1) ## 算法思想1 > 将头结点摘下,然后从第一个结点开始,依次插入到头节点的后 ...
最新文章
- Cetos 7 命令行登陆与图形界面登陆相互切换
- EdoGantt甘特图中间件的事件对象
- Java 9 - 17 特性解读:​Java 13
- mysql 新建库在哪找_求助,mysql创建数据库找不到文件在哪问题
- hibernate继承映射之每个具体类一张表
- 企业如何采用机器学习
- latex导数_Latex:导数【高中常用公式】
- 计算机专业知识面狭窄,计算机专业知识
- XStream将XML转换为JAVA对象快速指南
- Unity延迟和重复调用方法
- 使用 artitalk + LeanCloud 配置给个人博客搭建说说
- 淘宝/天猫api 添加收货地址 API接口
- AdventureWorks2012.mdf的使用
- Kotlin协程之launch
- ESP-AT 应用: AT+MQTT 对接腾讯 QCloud 云
- leetcode 咒语和药水的成功对数
- 【BZOJ 2054】 疯狂的馒头
- Html网页设计-旅游景点介绍
- 【钉钉-场景化能力包】企业系统和钉钉工作流打通
- 魔兽世界最新服务器推荐,[大陆]《魔兽世界》全新第六大区推荐服务器