首页 > 其他分享 >PTA 6-18 循环链表的追加

PTA 6-18 循环链表的追加

时间:2024-05-25 10:28:49浏览次数:29  
标签:Node 结点 struct 18 PTA next 链表 rear 指针

单链表的结点存储结构如下所示:
struct Node{
int data;
struct Node *next;
};

请编写函数,将一个构造好的新结点p(结点地址),添加到指针rear指向的循环单链表的尾部(rear指向的是循环单链表尾的地址,循环单链表无附加头结点),并确保rear始终指向最后一个结点(如果有的话)。

函数接口定义:

void AppendP(struct Node **rear,struct Node *p);

其中 rear 是一个指针,所指的单元中存储有循环单链表的尾结点的地址(因每个结点均存储的是地址,还要通过指针返回内容,故而是指针的指针)。 p 拟添加到尾部的结点指针。要求添加新元素后,尾指针要指向新添加的元素。
只需要完成上述函数,不需要考虑输入与输出部分,测试程序会调用它进行某些操作。

//请要下面完成函数的代码:

代码实现:

void AppendP(struct Node **rear, struct Node *p) {  
    if (*rear == NULL) {  
        p->next = p;
        *rear = p;  
    } else {  
        p->next = (*rear)->next; 
        (*rear)->next = p;
        *rear = p;  
    }  
}  

标签:Node,结点,struct,18,PTA,next,链表,rear,指针
From: https://blog.csdn.net/LgdCjp/article/details/139074815

相关文章

  • Day3 | 203.移除链表元素 、707.设计链表 、 206.反转链表
    203.移除链表元素建议:本题最关键是要理解虚拟头结点的使用技巧,这个对链表题目很重要。题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.移除链表元素.html思考设置一个虚拟的dummy节点,方便代码逻辑一致,不然要专门处理头节点。定义一个pre节点,作为cur节点的前驱......
  • LibreOJ 3818 「CEOI2022」Parking
    考虑把这个停车位当作栈来考虑,每次可以取出栈顶放到另一个栈,并且要保证另一个栈\(sz\le2\),且当\(sz=2\)时要保证栈顶栈底都是同一种元素。令\((x,y)\)表示\(x\)为栈顶\(y\)为栈底,\((0,x)\)表示栈中元素只有\(x\)。考虑对于\((x,y)\),连一条\(x\toy\)的边,若......
  • 算法随想录打卡第三天|链表
    //203移除链表元素publicListNoderemoveElements(ListNodehead,intval){//创建虚拟头指针不对//ListNoderes=head;//创建一个虚拟头结点ListNoderes=newListNode(val-1);res.next=head;ListNodeprev=res;......
  • 两个人不约而同的说相同的话做相同的事,是什么情况 ... 2个回答 - 回答时间: 2018年1
    两个人不约而同的说相同的话做相同的事,是什么情况...2个回答-回答时间:2018年1月25日最佳答案: 心有灵犀一点通。......
  • 618购物节快递量激增,EasyCVR视频智能分析助力快递网点智能升级
    随着网络618购物节的到来,物流仓储与快递行业也迎来业务量暴增的情况。驿站网点和快递门店作为物流体系的重要组成部分,其安全性和运营效率日益受到关注。为了提升这些场所的安全防范能力和服务水平,实施视频智能监控方案显得尤为重要。一、方案背景与目标近年来,驿站网点和快递门店......
  • 算法打卡 Day18(二叉树)-层序遍历 + 翻转二叉树 + 对称二叉树
    文章目录层序遍历相关题目Leetcode226-翻转二叉树题目描述解题思路Leetcode101-对称二叉树题目描述解题思路层序遍历我们使用队列模拟二叉树的层序遍历。相关题目102.二叉树的层序遍历classSolution{public:vector<vector<int>>levelOrder(TreeNode......
  • 第18讲:数据在内存中的存储
    目录1.整数在内存中的存储2.大小端字节序和字节序判断2.1什么是大小端?2.2为什么会有大小端?2.3练习2.3.1练习12.3.2练习22.3.3练习32.3.4练习42.3.5练习52.3.6练习63.浮点数在内存中的存储3.1练习3.2浮点数的存储3.2.1浮点数存的过程3.2.2浮点数取的过程......
  • 23. 合并 K 个升序链表
    题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。解题思路这个题目显然是可以用归并排序(区间内单调)的方法——最核心的地方就是合并两个有序链表(力扣第21)同时也可以用优先级队列的方法,不过要修改比较方法(仿函......
  • 接口设计的18条军规
    前言之前写过一篇文章《表设计的18条军规》,发表之前,在全网广受好评。今天延续设计的话题,给大家总结了接口设计的18条军规,希望对你会有所帮助。1.签名为了防止API接口中的数据被篡改,很多时候我们需要对API接口做签名。接口请求方将请求参数+时间戳+密钥拼接成一个字符串......
  • SCAU 18705 01背包问题
    18705 01背包问题时间限制:1000MS 代码长度限制:10KB题型:编程题   语言:不限定Description有一个容积为M的背包和N件物品。第i件物品的体积W[i],价值是C[i]。求解将哪些物品装入背包可使价值总和最大。每种物品只有一件,可以选择放或者不放入背包。输入格式第一......