单链表的遍历与长度计算(单链表)
来源:互联网 发布:数据分析挖掘与r语言 编辑:程序博客网 时间:2024/05/16 09:08
1.题目:
Problem Description
建立单链表,完成遍历操作,并且计算单链表结点长度。
Input
输入数据有多组。每行数字表示单链表的结点(不会超过100),以0结束一个单链表;
例如:1 2 3 4 5 0 代表一个长度为5的单链表。
遇到-1,结束程序。
例如:1 2 3 4 5 0 代表一个长度为5的单链表。
遇到-1,结束程序。
Output
输出该单链表的长度,并且输出的单链表。
Sample Input
1 3 3 7 9 01 3 0-1
Sample Output
51 3 3 7 921 3
2.代码:
#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;}
- 单链表的遍历与长度计算
- 单链表的遍历与长度计算(单链表)
- 二维数组的介绍、遍历以及长度的计算
- 计算带头结点单链表的长度 计算单链表的长度,实现单链表的打印
- 字符串长度的计算与字符串比较
- 长度限制计算长度与服务器计算长度不符
- 计算字符串的长度
- 计算字节的长度
- 计算数据的长度
- 计算字符串的长度
- 计算字符串的长度
- 计算字符串的长度
- 计算数组的长度
- 计算QString的长度
- ie11计算*的长度
- 单链表之创建与求单链表的长度
- 计算轮廓长度与面积
- 顺序队列的入队,出队,遍历队列计算队列的长度
- c++ urlencode简单实现
- 什么是文件头
- poj 1872 A Dicey Problem (bfs+WordFinal题)
- iOS - nonatomic & atomic
- 几道容易出错的JavaScript题目(转)
- 单链表的遍历与长度计算(单链表)
- Linux shell实现阳历转农历
- linux下tomcat的自动备份
- Oracle SQL优化 总结
- Linux下搭建tomcat集群
- JS中使用EL表达式的问题
- 未来我们如何开会?
- [Java]关于throw,throws,try{}catch(){}
- 数据库导入导出命令使用