#include<stdio.h>
#include<stdlib.h>
#define NULL 0 /*宏定义*/
typedef struct node /*定义结点类型的数据结构*/
{char c; /*数据域,类型为字符型*/struct node *next; /*指针域,类型为本结构体类型*/
}Node,*L; /*类型重定义,即Node和*L和struct node等价*/main()
{L l,p,q,r; /*用指针类型定义三个结点类型的指针*/char ch;l=(L)malloc(sizeof(Node)); /*分配内存空间*/l->c='\0'; /*为头结点的数据域赋值,值为空*/l->next=NULL; /*指明下一个结点目前不存在*/q=l; /*q为游动指针,链表结点的连结要用*/printf("Input a character:\n");scanf("%c",&ch);getchar();while(ch!='0') /*输入0表示输入结束*/{p=(L)malloc(sizeof(Node)); /*为新输入的数据分配内存空间*/p->c=ch;p->next=NULL; /*新输入的结点在链表的最后,即它的后面没有其它元素*/q->next=p; /*q用于将上一个元素链接至当前新元素*/q=p; /*q自己移到当前最后一个元素,以备继续链接所用*/scanf("%c",&ch);getchar();}  /*以上完成了单链表的创建*/q=l->next;p=q->next;r=p->next;q->next=NULL;while(r!=NULL){p->next=q;q=p;p=r;if(r->next!=NULL) /*r后面还有结点,则逆置继续*/r=r->next;elsebreak;}r->next=q;l->next=r; //头结点指向最后一个结点q=l; /*输入整个链表前,先将q移到链表头,l一般不动*/while(q->next!=NULL) /*若q所指向的元素后面还有其它元素,则将该元素的数据输出*/{printf("%c-->",q->next->c); /*q->next->c表示q所指向的下一个元素的数据*/q=q->next; /*完成该元素的输出后,q移至下一个元素重复输出操作*/}printf("\n");
}

056.单链表就地逆置相关推荐

  1. java实现单链表就地逆置,单链表的就地逆置讲解

    { List *q; List *p = L->next; L -> next = NULL; //单链表就地逆置 while (p != NULL) { q = p -> next ...

  2. java实现单链表就地逆置,20. 微软面试题:单链表就地逆放

    题目是:链表操作,单链表就地逆置 分析: 这题只需要设置三个指针就搞定了,ListNode* p 表示当前指针, ListNode* fp: 上一个节点指针, ListNode * ep :下一个节点 ...

  3. 【AU】单链表就地逆置

    单链表就地逆置 单链表的就地逆置是指辅助空间O(1)的逆置方法,有两种方法: 第一种 普通循环(头插法重新建立带头节点的新链表) 将头结点摘下,然后从第一结点开始,依次前插入到头结点的后面(头插法), ...

  4. 带头结点单链表就地逆置算法

    1.带头结点单链表就地逆置算法 部分函数调用参考如下:https://blog.csdn.net/qq_50504109/article/details/120288749 /*** 单向链表的逆置, ...

  5. 6-1 带头结点的单链表就地逆置 (10 分)

    6-1 带头结点的单链表就地逆置 (10 分) 本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要 ...

  6. python实现带头结点的单链表的就地逆置_6-1 带头结点的单链表就地逆置 (10 分)...

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...

  7. 单链表就地逆置(Java版)

    题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1).所谓"就地"指辅助存储空间为 ...

  8. 链表就地逆置Java_单链表就地逆置(Java版)

    题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1).所谓"就地"指辅助存储空间为 ...

  9. python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...

最新文章

  1. git clone从远程主机克隆一个版本库
  2. MVC自定义视图规则
  3. html设置图片不可拖拽,js css3实现图片拖拽效果
  4. Leetcode1293.网格中的最短路径
  5. 不小心rm删除文件怎么办
  6. 胶水语言概述(以Python为例)
  7. 微信通讯协议。自动加人
  8. ipad pro能用python编程吗_涨知识!iPad还可以运行Python代码
  9. 做运营活动的几点心得
  10. Windows10搭建EDK2环境
  11. PHP设置谷歌验证器(Google Authenticator)实现操作二步验证
  12. cdn连接失败是什么意思_CDN经常连接失败的原因有哪些?
  13. QT 读Excel表格
  14. 从’物质决定意识’说起
  15. Chrome的插件安装与使用
  16. CES 2019上芯片巨头们的争夺焦点:光线追踪、“永远”在线PC、汽车...
  17. 浙江师范大学数学与计算机科学学院仇秋生,仇秋生 中文主页 浙江师范大学教师个人主页系统...
  18. 用于React,React Native,JavaScript和生产力的顶级VSCode扩展
  19. ps导出发生未知错误,怎么办?
  20. 【码农学编曲】RealGuitar3常用技法

热门文章

  1. xilinx芯片的 IOB 以及 IOB = false
  2. android 截取验证码的两种实现方式
  3. golang使用josn.Unmarshal报错:unexpected end of JSON input
  4. 隆重推出 Incredibuild 10
  5. 解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题
  6. 安创安全OA——小程序
  7. Android原生权限管理:AppOps
  8. 例题 9-8 颜色的长度(Color Length, ACM/ICPC Daejeon 2011, UVa1625)
  9. 【面试】前端面试之开发性能篇
  10. 吐血推荐 ▏看完这个我才知道原来PHP应该这样学!大牛的成功是可以复制的(福利派送)