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

Day6 链表的基础操作I -卡码网C++基础课

题目链接:链表的基础操作I

题目描述

构建一个单向链表,链表中包含一组整数数据。输出链表中的所有元素。

要求:

1. 使用自定义的链表数据结构
2. 提供一个 linkedList 类来管理链表,包含构建链表和输出链表元素的方法
3. 在 main 函数中,创建一个包含一组整数数据的链表,然后调用链表的输出方法将所有元素打印出来

输入描述

包含多组测试数据,输入直到文件尾结束。 
每组的第一行包含一个整数 n,表示需要构建的链表的长度。 
接下来一行包含 n 个整数,表示链表中的元素。

输出描述

每组测试数据输出占一行。
按照顺序打印出链表中的元素,每个元素后面跟一个空格。

输入示例

5
1 2 3 4 5
6
3 4 5 6 7 8

输出示例

1 2 3 4 5
3 4 5 6 7 8

提示信息

数据范围:1 <= n <= 1000;
点击查看代码
#include<iostream>
using namespace std;struct ListNode {int val;ListNode* next;ListNode(int x) : val(x), next(nullptr){}
};int main(){int n, val;ListNode* dummyHead = new ListNode(0);while(cin >> n){ListNode* cur = dummyHead;for(int i =0; i < n; i++){cin >> val;ListNode* newNode = new ListNode(val);cur -> next = newNode;cur = cur -> next;}cur = dummyHead;while(cur -> next != NULL){cout << cur -> next -> val << ' ';cur = cur -> next;}cout << endl;}
}
小结

指针

声明int* p;   //指向整数的指针存地址int* p = &x;  //取地址符&获取地址获取地址的值int value = *p;  //使用*符号来访问,解引用数组与指针数组名本质就是指向数组第一个元素的指针int arr[3] = {1, 2, 3};int *ptr = arr;   // 数组名arr就是指向arr[0]的指针指针还可以执行加法、减法等算术操作int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr; // 指向数组的第一个元素int value = *(ptr + 2); // 获取数组的第三个元素(值为3)空指针值(nullptr)用于表示指针不指向任何有效的内存地址。int *ptr = nullptr;   // 初始化为空指针

链表

链表结构定义struct ListNode {int val;  // 存储节点的数据ListNode *next; // 指向下一个节点的指针	ListNode(int x) : val(x), next(nullptr) {}  };构造函数ListNode(int x) : val(x), next(nullptr) {}  // 构造函数,用于初始化节点, x接收数据作为数据域,next(nullptr)表示next指针为空构造函数名称要和结构体相同链表的插入ListNode *newNode = new ListNode(val);   // 通过new构造一个新的节点,节点的值为valcur -> next = newNode;   // cur节点的next节点是新节点,从而将新节点接入链表cur = cur -> next;  new在堆内存中动态分配内存空间,并返回分配内存的地址->通过指针访问指针所指向的对象的成员
http://www.jsqmd.com/news/113195/

相关文章:

  • 2025年12月篮球场运动木地板,实木运动木地板,枫木运动木地板厂家推荐,高性能与可靠性兼具的优质品牌 - 品牌鉴赏师
  • 完整教程:xorrisofs的系统架构与开源地址
  • P1657 选书
  • RPA在财务领域的应用,重塑管理会计发展格局 - 详解
  • 汉默斯问鼎厨卫峰会双奖:中餐厨余处理器创新突围,以用户痛点锚定产业新坐标
  • 峰会收官传捷报!金当汉默斯创新实力获认可,一举拿下“重磅新品”“人气飙升”双项殊荣
  • 2.面向对象设计原则
  • Day6 16. 位置互换 -卡码网C++基础课
  • Java毕业设计如何顺利凭借
  • 自己写的库:rstiff:高精度、类型保留的 Rust GeoTiff 处理库
  • langfuse-LLM 模版评估选择
  • 升级二进制kubernetes集群(大版本升级)
  • 死锁
  • 手写数字识别:从零搭建神经网络 - 实践
  • Java新特性-(二)Java基础语法 - 努力-
  • Java新特性-Java语法 - 努力-
  • 升级二进制kubernetes集群(小版本升级)
  • 深耕二十载 赋能全领域|河南山特UPS电源领军品牌艾佩斯商贸 (1) - 朴素的承诺
  • 深耕二十载 电源护安全|河南艾佩斯打造全场景电源解决方案服务商 - 朴素的承诺
  • 现在我如何使用 Google Antigravity
  • AI也会说谎?揭秘可靠RAG让智能助手不再胡说八道
  • 科士达UPS电源核心服务商 河南艾佩斯 二十载机房电源解决方案专家 - 朴素的承诺
  • 计算机辅助证明与AI在数学领域的信任变革
  • Day6 14. 句子缩写 -卡码网C++基础课
  • why name should be short
  • 科华UPS电源优选服务商:河南艾佩斯20年深耕,全国服务覆盖 - 朴素的承诺
  • 实用指南:VirtualBox 6.1.50 新建 Windows 7 Ultimate SP1 64位虚拟机完整流程指南
  • 河南山特UPS电源标杆|艾佩斯20年专注全场景电源解决方案 - 朴素的承诺
  • 2025-2026酶标仪知名品牌/优质供应商:采购必看 - 品牌推荐大师1
  • 小红书关键词爬取