python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置 (10 分)...
本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1。
函数接口定义:
void ListReverse_L(LinkList &L);
其中 L 是一个带头结点的单链表。
裁判测试程序样例:
//库函数头文件包含
#include
#include
#include
//函数状态码定义
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int ElemType; //假设线性表中的元素均为整型
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
Status ListCreate_L(LinkList &L,int n)
{
LNode *rearPtr,*curPtr; //一个尾指针,一个指向新节点的指针
L=(LNode*)malloc(sizeof (LNode));
if(!L)exit(OVERFLOW);
L->next=NULL; //先建立一个带头结点的单链表
rearPtr=L; //初始时头结点为尾节点,rearPtr指向尾巴节点
for (int i=1;i<=n;i++){ //每次循环都开辟一个新节点,并把新节点拼到尾节点后
curPtr=(LNode*)malloc(sizeof(LNode));//生成新结点
if(!curPtr)exit(OVERFLOW);
scanf("%d",&curPtr->data);//输入元素值
curPtr->next=NULL; //最后一个节点的next赋空
rearPtr->next=curPtr;
rearPtr=curPtr;
}
return OK;
}
void ListReverse_L(LinkList &L);
void ListPrint_L(LinkList &L){
//输出单链表
LNode *p=L->next; //p指向第一个元素结点
while(p!=NULL)
{
if(p->next!=NULL)
printf("%d ",p->data);
else
printf("%d",p->data);
p=p->next;
}
}
int main()
{
LinkList L;
int n;
scanf("%d",&n);
if(ListCreate_L(L,n)!= OK) {
printf("表创建失败!!!\n");
return -1;
}
ListReverse_L(L);
ListPrint_L(L);
return 0;
}
/* 请在这里填写答案 */
输入格式:
第一行输入一个整数n,表示单链表中元素个数,接下来一行共n个整数,中间用空格隔开。
输出格式:
输出逆置后顺序表的各个元素,两个元素之间用空格隔开,最后一个元素后面没有空格。
输入样例:
4
1 2 3 4
输出样例:
4 3 2 1
void ListReverse_L(LinkList &L)
{
LinkList p=L->next,q;
L->next=NULL;
while(p!=NULL){
q=p;
p=p->next;
q->next=L->next;
L->next=q;
}
}
python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置 (10 分)...相关推荐
- 各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响
各种风格简洁单页响应式html5模板_简洁 响应式 单页 跳转 设计 案例 源码340多套订餐企业模板高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响 ...
- python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置
本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...
- 二叉链表和职工管理系统结合_职工信息管理系统单链表实现C语言源程序
1 / 23 #include #include #include int saveflag=0; /* 单链表内容有无发生改变,是否需要存盘的标志 变量 */ struct employee { c ...
- mysql数据库如何让表单与表单关联共用_这样的表单如何做到和数据库相连,我想知道与SQL和mysql这两种的连接方法,在线等,谢谢各位!...
主要的数据写入的步骤如下: 1. 写好数据库的连接字符串,包括你的数据库服务器.数据库名称.登陆用户.密码 string strConn = "Initial Catalog=" ...
- 404 单页应用 报错 路由_详解vue 单页应用(spa)前端路由实现原理
写在前面:通常 SPA 中前端路由有2种实现方式: window.history location.hash 下面就来介绍下这两种方式具体怎么实现的 一.history 1.history基本介绍 w ...
- 单应性矩阵和仿射变换_仿射变换透射变换单应性矩阵
答:使用perspectiveTransform(). findHomography 函数是求两幅图像的单应性矩阵,它是一个3*3的矩阵,但这里的单应性矩阵和3D重建中的单应性矩阵(透视矩阵3*4)是 ...
- python实现带头结点的单链表的就地逆置_设头指针为head,编写算法实现带头结点单链表head的就地逆置...
链表问题大全!!!刚出炉的还热乎呢!! #include #include typedef struct node { int nDate; struct node *pstnext; }Node; ...
- python选出奇数并降序_奇数结点升序偶数结点降序的单链表排序(Python实现)
题目 一个链表,奇数结点升序,偶数结点降序,要求变成一个全升序的链表. 例如:1->8->2->7->3->6->4->5,变为1->2->3-& ...
- python单链表排序_奇数结点升序偶数结点降序的单链表排序(Python实现)
题目 一个链表,奇数结点升序,偶数结点降序,要求变成一个全升序的链表. 例如:1->8->2->7->3->6->4->5,变为1->2->3-& ...
- 单链表操作实现getelem_c语言实现--带头结点单链表操作
可能是顺序表研究的细致了一点,单链表操作一下子就实现了.这里先实现带头结点的单链表操作. 大概有以下知识点. 1;结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址 ...
最新文章
- simple c语言,C语言——指针(simple).ppt
- 《从0到1学习Flink》—— Flink Data transformation(转换)
- 集群中几种session同步解决方案的比较[转]
- codeforces 872 D. Something with XOR Queries(思维)
- 巧用linux服务器下的/dev/shm/,避开磁盘IO不给力!
- Jmeter基础(二)
- HaspMap 多线程下 resize 死循环
- Python内置函数max()高级用法
- Varnish——CDN加速实现(单个后端服务器、缓存命中率情况)
- 新冠疫情相似句对判定,快速匹配准确答案
- struts2 返回html文本,Struts2 s:textfield文本示例
- spark、hadoop 问题合集
- 【ihaonet微测试】你出题,我开发
- 海康人脸认证设备对接
- windows 环境下 0x色彩对应表
- 最短哈密顿环 退火_模拟退火法计算最短路径 用 高效的 图论中哈密顿贿赂的 AI...
- openerp mysql_OpenERP雇员(员工)表与用户表关联字段解析
- 人工智能AI工程师职业规划指南
- win10 Telnet服务器 解决telnet正在连接127.0.0.1...无法打开到主机的连接 在端口 23: 连接失败
- 联想拯救者r720适合java么_联想拯救者R720重装Win10系统的正确姿势
热门文章
- linux_smb.conf配置详解_IT技术论文
- [CLR团队公告]CLR基础研究团队纲领
- java web 前端学习路线
- 华为云的Kubernetes实践之路
- mycat启动服务,后台日志报错Bit Server VM warning: ignoring option MaxPermSize
- 【D】分布式系统的CAP理论
- Survivor空间溢出实例
- 改动Oracle GoldenGate(ogg)各个进程的读检查点和写检查点
- 转载:Oracle导入导出命令的使用
- 一个注册表操作类,很有用!