NTUE-CS102 板


LINE

说好3/31的时候要PO的程式码 抱歉慢了几天XD 看在期限延後大家就不要这麽在意了 哈哈 --- 先review一下问题(简单版) 有两个区域 跟六个方块 分别堆成 ---┐ 1 │→[1]→[2]→[3]→NULL ---┘ ---┐ 2 │→[4]→[5]→[6]→NULL ---┘ 这次我用到的class class block { int data; block *next; public: int getdata() { return data; } void setdata(int d) { data=d; } block *getnext() { return next; } void setnext(block *n) { next=n; } }; 用的都是之前的东西 没有新的 然後是main 首先把东西堆成一开始的样子 int main() { // 准备两个head(区域1,2) // 六个方块(b[0]不用) // *p,*q是while那里搜寻用的 block head1, head2, b[7], *p, *q; int i, x, y; // 把方块上面设定数字 for(i=1;i<=6;i++) { b[i].setdata(i); } // 串起来! head1.setnext(&b[1]); b[1].setnext(&b[2]); b[2].setnext(&b[3]); b[3].setnext(NULL); head2.setnext(&b[4]); b[4].setnext(&b[5]); b[5].setnext(&b[6]); b[6].setnext(NULL); 这里要很清楚 . 和 -> 的差别 setnext是block的函数 所以block的物件 例如 block a; 就要用 a.setnext(somethnig); 如果是block的指标 例如 block *p; 就要用 p->setnext(somethnig); 设定好之後 就是输入x,y的无穷主回圈 // cout cout<<"请输入x,y 将方块x移到区域y(x=1~6, y=1~2),"; cout<<"输入0 0印出目前各区域上的方块\n\n"; // 主回圈 while(true) { cout<<"请输入x,y 将方块x移到区域y: "; cin>>x>>y; // 输入0 0 if(x*y==0) { // 印出第一区 cout<<"1: "; p=head1.getnext(); while(p!=NULL) { cout<<p->getdata()<<" "; p=p->getnext(); } cout<<endl; // 印出第二区 cout<<"2: "; p=head2.getnext(); while(p!=NULL) { cout<<p->getdata()<<" "; p=p->getnext(); } cout<<endl; } // 不是0 0 else { // 假设要找的方块x在第一区 p=&head1; while(p!=NULL && p->getdata()!=x) { q=p; p=p->getnext(); } // 找不到=>在第二区 if(p==NULL || p->getdata()!=x) { p=&head2; while(p!=NULL && p->getdata()!=x) { q=p; p=p->getnext(); } } // q是原本方块前面的那个人, 通知他一下後面没人了 q->setnext(NULL); // 看要移到哪区 找那区的最後一个人 if(y==1) p=&head1; else p=&head2; while(p!=NULL) { q=p; p=p->getnext(); } // 接上去! q->setnext(&b[x]); } } } 步骤很简单 假设输入 1,2 就是把 方块1 移到 区域2 所以要 1. 先找到 方块1 前面的人 接NULL 方块1 可能在 区域1 或是 区域2 可以先假设它在 区域1 找不到 再找 区域2 找到她前面的人 再接NULL 2. 接着就串列跟插後面一样 去 区域2(要移到的地方) 找最後面 接上 方块1 3. 完成了 程式码全部贴起来 就可以work了 这样可以拿到一分 看懂用自己的方法写 可以拿到2分 写9区9方块 可以拿到3分 作业该交的时间是星期三半夜 大家加油罗XD! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.36.183
1F:→ borg110878:洗板XD 04/05 19:55
2F:推 j2612280:good~~ 04/05 21:22
3F:推 Arashinoon:我要赶回台北做了 GG 这台电脑没有C++ 04/05 22:01
4F:→ j2612280:Dev-C++简址 http://307.uuu.to/ 就是要宣传一下XD~ 04/05 22:02
5F:推 Arashinoon:不想用你给的网址咧~~~~ 04/05 22:03
6F:→ yantchen:http://cssa.ntue.edu.tw/course/devcpp.exe 04/05 23:51
7F:推 suan710:楼上学长的网址快用 04/05 23:53
8F:→ j2612280:冏... 04/06 00:02
9F:推 joe989879:超棒!! 04/07 15:13







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP