poj1208(链表
2015-07-30 13:40
323 查看
当写链表来练习了。
(好吧,,,在poj运行16ms。。为什么在uva就是超了3s- -。。。
(好吧,,,在poj运行16ms。。为什么在uva就是超了3s- -。。。
#include <iostream> #include <string> using namespace std; struct LNode { int data; LNode* fron; LNode* next; }; void change(LNode* addr) { LNode* last_addr = addr; while(addr->next != NULL) { addr = addr->next; last_addr->next = NULL; addr->fron = NULL; last_addr = addr; } } bool text(LNode* a,LNode* b) { LNode* addr = a; while(addr != NULL) if(addr->data == b->data) return true; else addr = addr->next; addr = a; while(addr != NULL) if(addr->data == b->data) return true; else addr = addr->fron; return false; } int main() { int num,n1,n2; LNode nums[30]; string a,b; cin >> num; for(int m = 0;m < num;m++) { nums[m].data = m; nums[m].next = NULL; nums[m].fron = NULL; } while(cin >> a && a != "quit" && cin >> n1 >> b >> n2) if(!text(&nums[n1],&nums[n2])) { LNode* addr = nums[n1].fron; if(addr != NULL) addr->next = NULL; if(a == "move") { if(b == "onto") { change(&nums[n1]); change(&nums[n2]); nums[n1].fron = &nums[n2]; nums[n2].next = &nums[n1]; } else { change(&nums[n1]); LNode* addr = &nums[n2]; while(addr->next != NULL) addr = addr->next; addr->next = &nums[n1]; nums[n1].fron = addr; } } else { if(b == "onto") { change(&nums[n2]); nums[n2].next = &nums[n1]; nums[n1].fron = &nums[n2]; } else { LNode* addr = &nums[n2]; while(addr->next != NULL) addr = addr->next; addr->next = &nums[n1]; nums[n1].fron = &nums[n2]; } } } for(int m = 0;m < num;m++) { cout << m << ':'; if(nums[m].fron == NULL) { LNode* addr = &nums[m]; while(addr != NULL) { cout << ' ' << addr->data; addr = addr->next; } } cout << endl; } return 0; }
相关文章推荐
- SAP ABAP第一,两,三代出口型BADI实现 解释的概念
- noip过河卒
- hdu1671 字典树
- php 微信分享朋友圈和发送给朋友
- 【Cocos2d-x】之使用两张图片制作动画
- 国家信息技术紧缺人才培养工程(软件应用与开发) 2015全国骨干教师研修班在京火热开班
- ps aux
- Java语言编码规范(Java Code Conventions)
- 参数值的传递不是函数的任务!
- Magento 利用block缓存 查询的所有分类菜单
- ios-图片加载方式类别和优缺点
- 恶魔城
- [转载]linux下查找字符串的命令
- 我的Emacs配置文件
- 仿站违法和侵权吗?
- js 函数对象
- 提升效率 Windows 10 快捷键汇总
- SQL基础总结——20150730
- 从.net复制源代码中国农历阵列,必要做日历
- Java UrlRewrite 实现网站URL重写过程实录