当前位置: 首页 > news >正文

铁岭做网站信息网站建设树状图

铁岭做网站信息,网站建设树状图,福建建筑人才市场,做网站公司 包含了服务器费用吗卡码网语言基础课 #xff5c;链表的基础操作III 链表的插入操作链表的删除操作打印链表代码编写 链表的插入操作 找到要插入的位置的前一个位置#xff0c;将其命名为cur#xff0c;将要插入的位置的下一个节点命名为tmp#xff0c;他们之间的关系是cur - next tmp创… 卡码网语言基础课 链表的基础操作III 链表的插入操作链表的删除操作打印链表代码编写 链表的插入操作 找到要插入的位置的前一个位置将其命名为cur将要插入的位置的下一个节点命名为tmp他们之间的关系是cur - next tmp创建一个链表newNode将cur的next指针指向newNode即cur - next nowNode将newNode的next指针指向tmp即newNode - next tmp 转换为代码如下 // 创建了一个新的 ListNode 结构的节点值为x, 并将其地址赋给指针 newNode ListNode *newNode new ListNode(x); // 创建了一个名为 tmp 的指针临时存储当前节点 cur 的下一个节点的地址。 ListNode *tmp cur - next; // 将当前节点 cur 的 next 指针更新为指向新节点 newNode将新节点插入到当前节点后面。 cur - next newNode; // 将新节点 newNode 的 next 指针设置为指向之前临时存储的节点 tmp newNode - nxet tmp链表的删除操作 找到删除节点的前一个节点cur并将其next指针设置为指向当前节点的下下个节点。 转换为代码如下 cur - next cur - next - next;打印链表 在函数内部定义一个指针cur初始时指向链表的头节点head 当cur的的下一个节点不存在时cur - next NULL说明下一个节点为空节点即链表的末尾 while (cur - next ! NULL) { }在循环体内打印当前节点cur的下一个节点cur - next的值val。随后将cur更新为指向链表的下一个节点以便在下一次循环中打印下一个节点的值。 while (cur - next ! NULL) {cout cur - next - val ;cur cur - next; }循环体结束时表示已经遍历完了整个链表。最后打印一个换行符用于分隔不同的输出行。 void printfLinkList(ListNode *head) {ListNode *cur head;while (cur - next ! NULL) {cout cur - next - val ;cur cur - next;}cout endl; }代码编写 代码的基础结构以及定义链表的结构体如下 #include iostream using namespace std;struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(nullptr) {} };int main() {}首先需要接收整数 k 表示需要构建链表的长度 int main () {int k, val;cin k; }然后我们需要构建一个长度为 k 的链表同时记得创建虚拟头节点以及初始化一个指针cur指向它方便后续节点的接入 ListNode *dummyHead new ListNode(0); ListNode *cur dummyHead; for (int i 0; i k; i){cin val;ListNode *newNode new ListNode(val);cur - next newNode;cur cur - next; }之后需要接收一个整数s表示s行输入每行两个整数第一个整数为 n第二个整数为x代表在链表的第n个位置插入x。 int s, n, x; cin s; while (s--) {cin n x; }当插入的位置n是一个小于等于0的数或者n大于链表的长度时插入位置不合法。 需要注意在插入后链表的长度会变化所以我们需要提前定义一个变量listLen指代链表的长度 int listen k;if (n 0 || n listLen) {cout Insertion position is invalid endl;continue; }如果不满足上面的条件说明插入的位置合法后续执行的操作是完成插入以及打印链表。 插入链表节点只需要找到插入位置的前一个节点即可也就是第n - 1个节点从虚拟头节点开始遍历需要走n - 1步。 cur dummyHead; for (int i 1; i listLen; i) {cur cur - next; }插入链表后需要将链表的长度 1 // 插入节点 ListNode *newNode new ListNode(x); // 构造一个新的节点 ListNode *tmp cur - next; cur - next newNode; newNode - next tmp;// 链表长度加1 listLen;随后打印链表即可 printLinkList(dummyHead);链表节点删除的前置步骤类型需要接收一个整数L表示后续会有L行输入每行一个整数m代表删除链表中的第 m 个元素 int l, m; cin l; while (l--) {cin m; }判断是否是非法输入 if (m 0 || m listLen) [cout Deletion position is invalid. endl;continue; ]找到要删除节点的前一个节点 cur dummyHead; for (int i 1; i m; i) cur cur - next; cur - next cur - next - next; listLen--; if (listLen ! 0) printLinklist(dummyHead);完整代码如下 #include iostream using namespace std;struct ListNode {int val;ListNode* next;ListNode(int x) : val(x), next(nullptr) {} };// 打印链表 void printLinklist(ListNode* dummyHead) {ListNode* cur dummyHead;while (cur-next ! NULL) {cout cur-next-val ;cur cur - next;}cout endl; } int main() {int k, val;ListNode* dummyHead new ListNode(0); // 创建了一个虚拟头结点cin k;int listLen k; //记录链表长度用来控制非法输入输出// 定义一个指向当前节点的指针 cur初始指向虚拟头结点ListNode* cur dummyHead; for (int i 0; i k; i) { // 或者使用while(n--)cin val;ListNode* newNode new ListNode(val); // 构造一个新的节点cur - next newNode; // 将新节点接入链表cur cur - next; // cur 指向下一个节点}// 增加节点int s, n, x;cin s;while (s--) {cin n x;if (n 0 || n listLen) { // 当要插入的位置非法时cout Insertion position is invalid. endl;continue;}// 指针重新指向虚拟头结点准备用cur遍历链表cur dummyHead;// 寻找添加节点的位置i从1开始因为节点计数从1开始for (int i 1; i n; i) cur cur-next;// 插入节点ListNode* newNode new ListNode(x); // 构造一个新的节点ListNode* tmp cur -next;cur-next newNode;newNode-next tmp;// 链表长度加1listLen;// 打印链表printLinklist(dummyHead);}// 删除节点int l,m;cin l;while (l--) {cin m;if (m 0 || m listLen) {cout Deletion position is invalid. endl;continue;}// 指针重新指向虚拟头结点准备用cur遍历链表cur dummyHead;//开始寻找删除节点的位置i从1开始因为节点计数从1开始for (int i 1; i m; i) cur cur-next;// 删除节点cur-next cur-next-next;listLen--; // 链表长度减一// 如果删除节点后链表为空则不打印if (listLen ! 0) printLinklist(dummyHead);} }
http://www.zqtcl.cn/news/48039/

相关文章:

  • 网站建设及网页设计教案wordpress授权怎么破解
  • 网站改版影响排名wordpress 点评网
  • 重庆建设银行官方网站首页wordpress旅游网
  • 网站开发学那种语言宣传片拍摄技巧
  • 织梦网站提示保存目录数据时报短视频动画人物说话制作
  • 石河子规划建设局网站wordpress主题消失
  • 百度地图 企业网站怎么样开始做网站
  • 深圳网站开发公司宝网一般多少钱做一个网站
  • 青海省公路建设管理局网站建立互联网公司网站
  • 北京网站建设降龙适合中小企业的管理软件
  • 杭州市建设信用网站微信小程序免费制作平台
  • 海报模板网站有哪些免费云主机服务器
  • 微建网站郑州网站建设金麦建站
  • 网站遮罩是什么完成网站群建设
  • 网站建设所面临的问题大数据精准营销案例
  • 网站建设 推广企业税率怎么快速推广业务
  • 网站投放家装装饰设计
  • 北京智能网站建设系统加盟wordpress自定义表格
  • 锡山建设局网站qq群推广引流
  • seo网站高效的客户管理crm系统
  • 做的最少的网站开源公司网站
  • 做农业需关注什么网站个人网站 做啥好
  • 河南省建设厅网站师林峰湖南做网站磐石网络案例
  • 昆山网站建设兼职网络推广做些什么
  • 太原企业网站模板建站广告传媒公司是做什么的
  • 建站专业团队一站式服务威海高端网站建设
  • 网站没有备案可以访问吗衡阳商城网站制作
  • 龙岗商城网站建设哪家便宜国家职业证书查询网入口
  • 西部数码网站管理助手搭建织梦互联网seo是什么意思
  • wordpress改站点地址室内设计网站官网大全