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:单链表的遍历与长度计算相关推荐

  1. 单链表遍历_单链表及其遍历实现的基本操作

    单链表遍历 单链表 (Single linked list) Single linked list contains a number of nodes where each node has a d ...

  2. C语言之单链表打印(遍历),查询,定位,插入,删除,链表长度

    生活记录 先聊家常,不想看废话的请直接跳到下面看代码分析. 大半个月没有更新博客了,大半个月也做了很多事情.依旧被困在英国,并且得知下个月的机票又又又被取消了:第二遍参加了某大公司的机试以及再次的失败 ...

  3. DHU数据结构-单链表-ADT应用-长整数加法运算(使用单链表存储计算结果)

    目录 1.题目 2.题解 3.代码实现 1.题目 单链表ADT模板应用算法设计:长整数加法运算(使用单链表存储计算结果) 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使 ...

  4. C语言数据结构 单链表的建立、遍历、查找、插入和删除操作

    参考文献 本博文为半摘记性质 -- 声明:全文主干部分摘自 [1] 杨智明. 数据结构(C语言版)[M]. 第一版. 北京:北京理工大学出版社, 2016. [2] 严蔚敏, 李冬梅, 吴伟民. 数据 ...

  5. 题目:代码实现判断单链表是否有环

    一.单链表环的定义: 有环的定义是,链表的尾节点指向了链接中间的某个节点.比如下图,如果单链表有环,则在遍历时,在通过结点J之后,会重新回到结点D. 题目:0.如何判断单链表里面是否有环? 算法的思想 ...

  6. 数据结构 单链表 (C++)(转载)

    线性表包含 数据域和指针域 其中,data存储数据本身的值,next存储后继元素的地址 下面的图表示的是一个数据节点 单链表的结构示意图(包括空的单链表): 单链表的节点类: template< ...

  7. 完整且详细的单链表代码

    单链表详细代码-SinglyLinkedList.java 链表类代码 链表操作的单元测试代码 链表类代码 package com.umpay.common.util.code;import java ...

  8. C语言基础篇02:单链表实现学生成绩管理系统

    单链表实现学生成绩管理系统 前言 需求分析 详细设计 增加成绩信息 删除成绩信息 修改成绩信息 查询学生信息和浏览学生信息 总结 前言 上篇已经讲过单链表的基本实现,这篇将以一个简单的管理系统入手. ...

  9. 有苦有乐的算法 --- 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点

    题目 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点. 解析 第一步,判断链表是有环链表还是无环链表: 如果一个单链表无环,它一定有一个指向null的尾结点: 如 ...

最新文章

  1. Acer 4750 安装黑苹果_授人以渔的黑苹果安装教程
  2. 阿里巴巴 Kubernetes 能力再获 CNCF 认可 | 云原生生态周报 Vol. 32
  3. python周天为一周的开始_周天-和周天相关的内容-阿里云开发者社区
  4. 小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
  5. 利用Arduino对路由器进行调试,居然这么简单!
  6. Oracle开发技能提升之层次查询全面解析
  7. Java实现:学生管理系统
  8. golang服务器压力测试,压力测试 - Go语言中文网 - Golang中文社区
  9. 安装cm初始脚本配置数据库scm_prepare_database.sh(在主节点上)遇到的问题
  10. 一般的java项目后台都有什么技术?
  11. 数商云:大宗商品供应链电子交易系统支撑业务运营模块落地浅谈
  12. yum命令 启用仓库_技术|如何列出在 Linux 上已启用/激活的仓库
  13. 124-移动端游乐园项目
  14. 今日分享:如何获取接口(Charles、fiddler)
  15. pygame游戏之旅4:添加键盘按键
  16. win10自动聚焦无法更换壁纸
  17. 数据库 内联左联右联 INNER JOIN、LEFT JOIN和RIGHT JOIN
  18. matlab solve 警告,当发出警告时令测试失败的插件
  19. 信息安全学习----渗透测试知识点
  20. 天语W700 adb驱动解决

热门文章

  1. 利用v-model实现父子组件传值——子父组件同步更新
  2. ELMo模型最简单使用方式(pytorch版)
  3. Win10系统可识别移动硬盘的插入,无法读取移动硬盘的内容,硬盘插入win10无法读取
  4. App安全测试-软件权限/安装与卸载安全性
  5. MOSFET规格书参数详解
  6. JSON解析(详细)
  7. echarts关系图节点点击事件
  8. magicbook linux送u盘,荣耀MagicBooku盘重装原版Win10系统的方法
  9. RK3399平台开发系列讲解(PCI/PCI-E)5.21、PCI总线的驱动注册
  10. Linux的dhcp服务器