单链表的逆置方法这里介绍两种(头插法和原地逆置法)

  • 头插法
    通过两个指针的移动,以原表的头指针为中间量,让原表的元素依次连接在逆置表的表头
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语言中单链表的逆置相关推荐

  1. 头插法逆置单向链表c语言,单链表的逆置(头插法和就地逆置)

    今天课间的时候偶然看到了一个面试题:单链表的逆置,看了题解感觉乖乖的,貌似和以前看的版本不搭,于是重新进行了一番探究 单链表的逆置分为两种方法:头插法和就地逆置法,这两种方法虽然都能够达到逆置的效果, ...

  2. c语言单链表就地逆置编程,C++ 单链表的 就地逆置 ,以及基本操作

    #include "stdafx.h" #define sub(a,b) a-b //没用 #include using namespace std; struct node { ...

  3. 逆置单链表c语言程序,(数据结构C语言版)顺序表和单链表的逆置

    <(数据结构C语言版)顺序表和单链表的逆置>由会员分享,可在线阅读,更多相关<(数据结构C语言版)顺序表和单链表的逆置(7页珍藏版)>请在人人文库网上搜索. 1.实验1-1顺序 ...

  4. C语言实现单链表的逆置

          单链表的逆置是一个非常经典的问题,这里利用两个思想进行解决.       首先,我们需要看下原理图,其实两个思想都是一样的,都是使后一个的节点的 next 指针指向前一个节点,依次递推,直 ...

  5. C语言实现单链表的逆置-实训

    任务描述 本关需要你设计一个程序,实现单链表的逆置. 相关知识 单链表的逆置分为两种方法:头插法和就地逆置法,这两种方法虽然都能够达到逆置的效果,但还是有着不小的差别. 编程要求 按程序提示输入并创建 ...

  6. 无头结点单链表的逆置_单链表的增删查 逆置 倒数第k个节点等问题

    对于单链表而言,它没有双链表那么复杂,它只有头节点,尾节点,节点数据,后继指针.在下面本人实现了 单链表的 增   删   插  查  改. #include #include #include #i ...

  7. SDUT_2118 数据结构实验之链表三:链表的逆置

    点击打开链接 数据结构实验之链表三:链表的逆置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem De ...

  8. 每日程序C语言43-链表原地逆置

    题目: 反向输出一个链表-原地逆置 程序分析 在我们创建链表的时候使用头插法创建的链表,其顺序就是逆序的,我们可以在该链表的基础上进行逆置 主要代码 main.c typedef struct Nod ...

  9. 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表

    ## 问题描述 > 试编写在带头结点的单链表就地逆置,所谓"就地"是指辅助空间为O(1) ## 算法思想1 > 将头结点摘下,然后从第一个结点开始,依次插入到头节点的后 ...

最新文章

  1. Cetos 7 命令行登陆与图形界面登陆相互切换
  2. EdoGantt甘特图中间件的事件对象
  3. Java 9 - 17 特性解读:​Java 13
  4. mysql 新建库在哪找_求助,mysql创建数据库找不到文件在哪问题
  5. hibernate继承映射之每个具体类一张表
  6. 企业如何采用机器学习
  7. latex导数_Latex:导数【高中常用公式】
  8. 计算机专业知识面狭窄,计算机专业知识
  9. XStream将XML转换为JAVA对象快速指南
  10. Unity延迟和重复调用方法
  11. 使用 artitalk + LeanCloud 配置给个人博客搭建说说
  12. 淘宝/天猫api 添加收货地址 API接口
  13. AdventureWorks2012.mdf的使用
  14. Kotlin协程之launch
  15. ESP-AT 应用: AT+MQTT 对接腾讯 QCloud 云
  16. leetcode 咒语和药水的成功对数
  17. 【BZOJ 2054】 疯狂的馒头
  18. Html网页设计-旅游景点介绍
  19. 【钉钉-场景化能力包】企业系统和钉钉工作流打通
  20. 魔兽世界最新服务器推荐,[大陆]《魔兽世界》全新第六大区推荐服务器

热门文章

  1. cgb2107-day07
  2. android登录实现回显用户名和密码
  3. Servlet注解和可插拔性(第八篇)
  4. navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
  5. Java自幂数计算及其算法改进
  6. 苹果的「AI 建筑师」GAUDI:根据文本生成 3D 场景
  7. LCD显示屏与OLED屏幕对比分析
  8. 平均的计算机符号,如何在Word中输入平均数的符号X上加一横(X拔)
  9. key文件转化ppt
  10. 制造业生产ERP源码,c#制造业通用ERP管理系统源码