**

6-4 链表逆置 (10 分)

**
本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:

struct ListNode {int data;struct ListNode *next;
};
函

数接口定义:

struct ListNode *reverse( struct ListNode *head );

其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>struct ListNode {int data;struct ListNode *next;
};struct ListNode *createlist(); /*裁判实现,细节不表*/
struct ListNode *reverse( struct ListNode *head );
void printlist( struct ListNode *head )
{struct ListNode *p = head;while (p) {printf("%d ", p->data);p = p->next;}printf("\n");
}int main()
{struct ListNode  *head;head = createlist();head = reverse(head);printlist(head);return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

1 2 3 4 5 6 -1
//结尾无空行

输出样例:

6 5 4 3 2 1
//结尾无空行
struct ListNode *reverse( struct ListNode *head )//没有头结点
{struct ListNode *p,*q;q=(struct ListNode *)malloc(sizeof(struct ListNode));if(head==NULL)return ;p=head->next;head->next=NULL;while(p!=NULL){q=p;p=p->next;q->next=head;head=q;}return head;
}

6-4 链表逆置 (10 分)相关推荐

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

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

  2. 6-1 顺序表创建和就地逆置 (10 分)

    6-1 顺序表创建和就地逆置 (10 分) 本题要求实现顺序表的创建和就地逆置操作函数.L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListRe ...

  3. PTA 链表逆置(函数题)

    6-1 链表逆置 (16分 本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头.链表结点定义如下: struct ListNode {int data;struct ListNod ...

  4. PTA 6-1 单链表逆置

    PTA 6-1 单链表逆置* (20 分) 已知单链表的结点结构定义如下: typedef struct NODE { int data; struct NODE *next; } NODE; 说明: ...

  5. 借助于栈结构将一个单链表逆置

    借助于栈结构将一个单链表逆置. 输入输出样例:1组 #1 样例输入: 5 //链表中有几个元素 1 2 3 4 5 //链表中的元素分别是什么 样例输出: 5 4 3 2 1 //逆置后输出,利用栈结 ...

  6. 循环链表构建及解决约瑟夫环、逢七过、链表逆置问题

    文章目录 循环链表构建 测试 约瑟夫环 逢七过 链表逆置 循环链表构建 循环链表与链表区别就在于尾指针不再指向null而是指向头指针,形成环. 接口定义: package p1.接口;import j ...

  7. java数据结构之单链表逆置算法

    单链表逆置算法1 设计思想:在链表类中新加成员方法getNode(int i),用来获取指定位置的节点,新建一个空单链表,将原链表的每个节点按照从后往前的顺序依次取出,再把节点的数据依次添加到新的链表 ...

  8. c语言借助栈单链表逆置,借助栈实现单链表逆置--数据结构

    标题: 借助栈实现单链表逆置 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述: 用链式存储实现栈的初始化.入栈.出栈.取栈顶.判栈空等操作,在主函数中借助栈的基本 ...

  9. 7-14 单链表基础应用(4)--单链表逆置

    作者 chenmin 单位 福建工程学院 编程实现一个简易学生信息管理系统,按如下步骤分别用自定义函数实现: (1) 根据输入信息创建单链表并输出所有结点信息.每个学生的信息包括姓名和成绩: (2) ...

最新文章

  1. Python 之 matplotlib (十)Image
  2. Asp.Net读写XML简单方法
  3. 基本机器学习面试问题 --- 理论/算法2
  4. qq消息连发代码_我们用的QQ是怎样实现通讯的
  5. Python遍历字典的四种方法对比
  6. 2013_changsha_onsite
  7. array keys php,php array_keys与array_search的简单使用
  8. 浅聊在美找工作以及工作之后的感受
  9. oracle数据库主键消失,oracle数据库提示找不到主键
  10. 深度学习——初识TensorFlow
  11. java 报表 存储过程_快逸报表数据集类型采用存储过程介绍
  12. Matplotlib绘制立方体示意图-伪三维
  13. Linux期末考试简答题
  14. java求六位数以内所有自幂数
  15. html5把六张图片做成立方体,一篇文章教会你利用html5和css3实现3D立方体效果图...
  16. 树莓派+温度传感器实现室内温度监控
  17. js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件
  18. Android Ringtone 自定义铃声介绍
  19. FEKO地平面的设置和计算参数的定义
  20. 41 freertos内存管理试验 1

热门文章

  1. 常见三种存储方式DAS、NAS、SAN的架构及比较
  2. java线程 stop()_java 多线程5: java 终止线程及中断机制 (stop()、interrupt() 、interrupted()、isInterrupted())...
  3. python字典的键可以是列表吗_如何返回字典键作为Python中的列表?
  4. float js 正则 验证_爬虫篇 | 200 行代码实现一个滑动验证码
  5. 华为荣耀20和x10比较_华为和荣耀旗舰该如何选?其实懂手机的朋友只选择前者...
  6. 数据库MySQL基础---DDL/DML/DQL
  7. 读取properties文件,中文乱码
  8. 洛谷 P4409 [ZJOI2006] 皇帝的烦恼
  9. python--pexpect
  10. 判断应用程序在前台还是后台