作者yantchen (球童Yanting)
看板NTUE-CS102
标题[课业] 怪手
时间Wed Mar 24 00:10:27 2010
很多人跟我说今天第一次上C++没有压力XD
这.. 大家可以祈祷王老常常请假.. 哈哈
阿巫记得MSN!! 170以上的帮我过滤掉
--- 以上废话分隔线 ---
作业时间我稍微往後调一点 改成4/1晚上唷
小小的作业怎麽可以耽误到星光勒!!
这次作业不限定方法
下面我稍微提示一下用串列跟阵列的作法
大部分的人一看到题目就会想到用串列
因为最近作业都是串列
然後他的特性 145 把 1 移到 3 上面的时候 还是保持 145
刚好就是串列
我的作法是 用9个head
head串方块 最後串NULL
例如 head[1]->block[1]->block[4]->block[5]->NULL
我的方法会有 9 个NULL 但也不一定要这样接 泡泡就是用 每串的最後面接到下一个
总之串列的方法 要注意的地方是
1. 先设计你的串列 是用9个head接它上面的方块然後NULL 或者其他方法
2. 把 x 移到 y, 首先要从9个区域找出 x
3. 把 x 前面一个接地
4. 找出 y 最後一个 接 x
仔细看一下 是不是跟前面的作业很类似 只是现在有 9 串
如果 9 串太多有点复杂的话 就先试试看 2 串的
阵列的话啊
就是开 9x9 的阵列
a[1][1] 就放 区域1的第一块 例如 1
a[1][2] 就放 区域1的第二块 例如 4
..
a[9][1] 就放 区域9的第一块
你可以用 0 代表没东西
这样移动就变成
1. 从 9x9 找出 x 的位置
2. 把 x 往上到0 复制到 y 的上面
3. 把 原本 x 以上的位置填 0
看不懂? 没关系
因为步骤又比上个作业多了一点 所以一下有点乱是正常的
如果你用串列做 那就把 插中间 的程式码跟方法再看一下
看懂了 我想这个作业也不是太难 只是个变化题
大家加油 下次上课可以继续写~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.36.183
1F:推 CaptainWill:先推先赢 03/24 00:10
2F:推 gcobc12632: 二推也赢 03/24 00:12
3F:推 Tuko: 三推 03/24 00:12
4F:推 garfield112:四推 03/24 00:13
5F:推 Arashinoon: 五推 03/24 00:14
6F:嘘 gcobc12632: 以上三楼皆输 03/24 00:15
7F:推 CaptainWill:阿泰你...勇者 囧 03/24 00:15
8F:→ yantchen: 我看到Arashinoon拿着凼 他非常火 03/24 00:18
9F:推 s86186654418:元品冷静 03/24 00:23
10F:推 CaptainWill:我也有 凼(捧 XD 03/24 00:25
11F:推 j2612280:GOOD~XD 03/24 00:28
12F:推 dieinreality:推推推 170以上的我没有 放心!! 03/24 00:30
13F:→ Tuko:睡觉去~ 03/24 00:56