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

区块链的网站怎么做网页设计与制作精品课程网站

区块链的网站怎么做,网页设计与制作精品课程网站,展会展台搭建服务,建德网站seo卡码网语言基础课 #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/530385/

相关文章:

  • php网站安装图解帮别人建设网站多少利润
  • vs做的网站如何二手优品哪个网站做
  • 建设银行内部网站6建筑学院官网
  • 大学生做微商网站金华seo扣费
  • 以前老网站邯郸推广网络宣传哪家好
  • 网站建设技术网站建设奉节网站建设公司
  • 动漫视频网站模板动漫制作专业什么电脑最适合
  • 合网站建设注册一个500万的公司需要多少钱
  • 《网站推广策划》wordpress 写博客
  • 网站开发工程师面试问哪些问题免费下载软件商店安装
  • 建网站公司要钱吗公司制作网站跟企业文化的关系
  • 网站改版对用户的影响网站评论怎么做的
  • 许昌市做网站公司汉狮价格装修案例图片 效果图
  • 设计主题网站化肥厂的网站摸板
  • 做羊水亲子鉴定网站网络推广是啥
  • 怎样解析网站域名用哪个网站做首页比较好
  • 设计网站页面设计wordpress样式错乱
  • 静态网页模板免费网站wordpress悬浮按钮
  • 怎么制作学校网站大淘客网站代码
  • 如何做好一个网站wordpress 修改邮箱设置
  • 网站项目方案生态建设研究所网站
  • 用织梦做视频网站wordpress文章不能分段
  • 彩票网站开发. 极云邮箱类网站模板
  • 网站代运营协议网站 文件服务器
  • 专业网站设计公司有哪些绿色营销案例100例
  • 网站建设买了域名山东省作风建设网站
  • 留学中介网站建设方案设计企业品牌商标
  • 会展相关网站建设情况seo的基本步骤是什么
  • 太原网站建设鸣蝉公司免费网页制作网站建设
  • 中山专业网站建设网站开发基础知识简述