南邮 OJ 1014 数据的插入与删除
来源:互联网 发布:一体化指挥平台数据库 编辑:程序博客网 时间:2024/05/18 00:18
数据的插入与删除
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 1946 测试通过 : 405
总提交 : 1946 测试通过 : 405
比赛描述
在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。
输入
第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。
第二行是要插入的数。
第三行是要删除的数。
输出
第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。
第二行输出插入后自小到大排好序的数,以“,”隔开。
第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。
样例输入
100 98 79 63 44 99 -1
88
79
样例输出
44,63,79,98,99,100
44,63,79,88,98,99,100
44,63,88,98,99,100
提示
题目来源
GUOJ
#include<iostream>using namespace std;template<typename Type>class SinglyLinkedNode{Type data;SinglyLinkedNode *next;public:void createLink(void);void printLink(void);void reverseLink(void);void deleteElements(Type del);void addNodeToOrderedLink(Type add);};/**函数说明:输入一个链表,第一行给出元素数目n(0<n≤1000),第二行给出元素数值*入口参数:无*出口参数:无*作者:陈汝军*日期:2014-8-17 21:42:44*/template<typename Type>void SinglyLinkedNode<Type>::createLink(void){int n;//元素数目cin>>n;SinglyLinkedNode *p,*q;p = this;while(n--){q = new SinglyLinkedNode();cin>>q->data;p->next = q;p = q;}}/**函数说明:打印一个链表*入口参数:无*出口参数:无*作者:陈汝军*日期:2014-8-17 21:42:51*/template<typename Type>void SinglyLinkedNode<Type>::printLink(void){SinglyLinkedNode *p = this->next;if(p==NULL){cout<<"No elements.";}while(p!=NULL){cout<<p->data;p = p->next;if(p!=NULL)cout<<",";}cout<<endl;}/**函数说明:翻转一个链表*入口参数:无*出口参数:无*作者:陈汝军*日期:2014-8-17 21:42:28*/template<typename Type>void SinglyLinkedNode<Type>::reverseLink(void){SinglyLinkedNode *p,*q;p = this->next;//p指向原来链表第一个元素,也是翻转后的最后一个元素的下一个元素if(p == NULL) return;q = p->next;//q指向将要移动的元素while(q!=NULL){p->next = q->next;q->next = this->next;this->next = q;q = p->next;}}/**函数说明:删除一个链表与给出的值相等的节点*入口参数:Type del:将要删除的值*出口参数:无*作者:陈汝军*日期:2014-8-17 21:43:38*/template<typename Type>void SinglyLinkedNode<Type>::deleteElements(Type del){SinglyLinkedNode *p,*q;p = this;q = p->next;while(q!=NULL){if(q->data == del){p->next = q->next;delete q;q = p->next;}else{p = p->next;q = p->next;}}}/**函数说明:添加一个元素到已经排好序的一个链表,由小到大排序*入口参数:Type add:将要添加的元素值*出口参数:无*作者:陈汝军*日期:2014-8-17 21:44:23*/template<typename Type>void SinglyLinkedNode<Type>::addNodeToOrderedLink(Type add){SinglyLinkedNode *p,*q;q = new SinglyLinkedNode();q->data = add;p = this;while(p->next!=NULL && p->next->data<add){p = p->next;}q->next = p->next;p->next = q;}int main(void){int temp;SinglyLinkedNode<int> *head = new SinglyLinkedNode<int>();while(cin>>temp && temp!=-1){head->addNodeToOrderedLink(temp);}head->printLink();cin>>temp;head->addNodeToOrderedLink(temp);head->printLink();cin>>temp;head->deleteElements(temp);head->printLink();return 0;}
0 0
- 南邮 OJ 1014 数据的插入与删除
- 南邮OJ 1014 数据的插入与删除
- 1014数据的插入与删除
- 南邮ACM 1014 数据的插入与删除 JAVA解法
- 南邮NOJ 1014 数据的插入与删除
- 刷题第七天:南邮NOJ【1014数据的插入与删除】
- 数据的插入与删除
- 数据的插入与删除
- ACM 数据的插入与删除
- 插入更新与删除数据
- 插入、更新与删除数据
- OJ:多重集的插入和删除
- mysql运算符与数据的插入,更新,删除
- MySQL 入门 之 数据的插入、查询、更新与删除
- 数据的插入,修改,删除
- 数据的插入和删除
- 数据的插入、更新、删除
- MySQL插入、更新与删除数据 …
- 如何优雅的使用 Mac
- POJ3468 A Simple Problem with Integers 线段树|树状数组BIT(区间增减,求和)
- 面试题(非技术)
- Untitled
- HDU 4727 The Number Off of FFF(水题)
- 南邮 OJ 1014 数据的插入与删除
- The database principal owns a schema in the database, and cannot be dropped. (.Net SqlClient Data Pr
- 互联网人所处氛围谈:工作是一场雁过留痕的游行
- View的绘制过程方法
- 下拉刷新
- 从优化到再优化,最长公共子串
- C#获取进程的主窗口句柄的实现方法
- Jave学习笔记一
- 20150802厦门大学华为校园提前批招聘机试体验题二:计算麻将的番数