9024:单链表的遍历与长度计算
Problem Description
建立非空单链表,完成遍历操作,并且计算单链表的长度。
Input
输入数据有多组,每组数据占一行:
每行数字表示单链表的各个结点值(数字个数不会超过100个),以0结束一个单链表的输入;
例如:1 2 3 4 5 0 代表一个长度为5的单链表。
若遇到-1,则结束数据的输入。
Output
每组输出占两行,第一行输出单链表的长度,第二行输出该单链表,每两个结点值之间有一空格。
Sample Input
1 3 3 7 9 0 1 3 0 -1
Sample Output
5 1 3 3 7 9 2 1 3
#include <iostream>
using namespace std;struct Node {int data;Node* next;
};class LinkList
{private:Node* head;public:LinkList(int a[], int n);~LinkList();void show();};LinkList::LinkList(int a[], int n)
{int i;Node* r, *s;head = new Node;r = head;for (i = 0; i < n; i++) {s = new Node;s->data = a[i];s->next = r->next;r->next = s;r = s;}r->next = NULL;
}LinkList::~LinkList()
{Node* p, *q;p = head;while (p) {q = p;p = p->next;delete q;}
}void LinkList::show()
{Node* p;p = head->next;cout << p->data;p = p->next;while (p) {cout << " " << p->data;p = p->next;}cout << endl;
}int main()
{int i = 0, n = 0, a[100];while (cin >> a[i]) {if (a[i] == -1)break;else if (a[i] != 0) {i++;n++;} else {cout << n << endl;LinkList k(a, n);k.show();i = 0;n = 0;}}return 0;
}
9024:单链表的遍历与长度计算相关推荐
- 单链表遍历_单链表及其遍历实现的基本操作
单链表遍历 单链表 (Single linked list) Single linked list contains a number of nodes where each node has a d ...
- C语言之单链表打印(遍历),查询,定位,插入,删除,链表长度
生活记录 先聊家常,不想看废话的请直接跳到下面看代码分析. 大半个月没有更新博客了,大半个月也做了很多事情.依旧被困在英国,并且得知下个月的机票又又又被取消了:第二遍参加了某大公司的机试以及再次的失败 ...
- DHU数据结构-单链表-ADT应用-长整数加法运算(使用单链表存储计算结果)
目录 1.题目 2.题解 3.代码实现 1.题目 单链表ADT模板应用算法设计:长整数加法运算(使用单链表存储计算结果) 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使 ...
- C语言数据结构 单链表的建立、遍历、查找、插入和删除操作
参考文献 本博文为半摘记性质 -- 声明:全文主干部分摘自 [1] 杨智明. 数据结构(C语言版)[M]. 第一版. 北京:北京理工大学出版社, 2016. [2] 严蔚敏, 李冬梅, 吴伟民. 数据 ...
- 题目:代码实现判断单链表是否有环
一.单链表环的定义: 有环的定义是,链表的尾节点指向了链接中间的某个节点.比如下图,如果单链表有环,则在遍历时,在通过结点J之后,会重新回到结点D. 题目:0.如何判断单链表里面是否有环? 算法的思想 ...
- 数据结构 单链表 (C++)(转载)
线性表包含 数据域和指针域 其中,data存储数据本身的值,next存储后继元素的地址 下面的图表示的是一个数据节点 单链表的结构示意图(包括空的单链表): 单链表的节点类: template< ...
- 完整且详细的单链表代码
单链表详细代码-SinglyLinkedList.java 链表类代码 链表操作的单元测试代码 链表类代码 package com.umpay.common.util.code;import java ...
- C语言基础篇02:单链表实现学生成绩管理系统
单链表实现学生成绩管理系统 前言 需求分析 详细设计 增加成绩信息 删除成绩信息 修改成绩信息 查询学生信息和浏览学生信息 总结 前言 上篇已经讲过单链表的基本实现,这篇将以一个简单的管理系统入手. ...
- 有苦有乐的算法 --- 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点
题目 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点. 解析 第一步,判断链表是有环链表还是无环链表: 如果一个单链表无环,它一定有一个指向null的尾结点: 如 ...
最新文章
- Acer 4750 安装黑苹果_授人以渔的黑苹果安装教程
- 阿里巴巴 Kubernetes 能力再获 CNCF 认可 | 云原生生态周报 Vol. 32
- python周天为一周的开始_周天-和周天相关的内容-阿里云开发者社区
- 小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
- 利用Arduino对路由器进行调试,居然这么简单!
- Oracle开发技能提升之层次查询全面解析
- Java实现:学生管理系统
- golang服务器压力测试,压力测试 - Go语言中文网 - Golang中文社区
- 安装cm初始脚本配置数据库scm_prepare_database.sh(在主节点上)遇到的问题
- 一般的java项目后台都有什么技术?
- 数商云:大宗商品供应链电子交易系统支撑业务运营模块落地浅谈
- yum命令 启用仓库_技术|如何列出在 Linux 上已启用/激活的仓库
- 124-移动端游乐园项目
- 今日分享:如何获取接口(Charles、fiddler)
- pygame游戏之旅4:添加键盘按键
- win10自动聚焦无法更换壁纸
- 数据库 内联左联右联 INNER JOIN、LEFT JOIN和RIGHT JOIN
- matlab solve 警告,当发出警告时令测试失败的插件
- 信息安全学习----渗透测试知识点
- 天语W700 adb驱动解决