Re: [讨论] 运用C语言撰写前星法(forward star)程式

楼主: yyan1218 (今天下雨了吗)   2014-12-08 17:33:42
※ 引述《dbox90 (微风)》之铭言:
: 如题,小弟利用C语言撰写forward star(前星法)问题
: 因老板要求需有两种的写法,小弟是用for循环写成
: 不知是否能运用while 或 do 循环撰写,恳请各位大大,给予指导
: 以下使小弟所撰写的程式码
: http://codepad.org/3P5NzZnF
: 题目如下
: 1 2 6
: 1 4 3
: 2 3 2
: 2 6 1
: 2 5 2
: 3 6 3
: 4 5 1
: 5 2 3
: 5 6 5
都是循环 搞清楚就会发现没啥不同,以下用(A)(B)(C)(D) 来表示其替换之位置
for((A)前置处理;(B)条件式;(C)循环变动)
{
.
(D)内容
.
}
替换成while
(A)
while((B))
{
(D)
(C)
}
替换成 do...while
(A)
do
{
if((B)) break;\\这行是要避免do..while 先斩后奏的问题
\\有可能在不符合条件式做 造成一些问题
(D)
(C)
}while((B));
//注: 但其实加了if判断式就跟上面while差不多了。
至于这三种循环 功能谁好谁坏 我是觉得用习惯就好
作者: fireslayer (fireslayer)   2014-12-08 20:02:00
虽说差不多 但变量有scope的差别 不过小心就好

Links booklink

Contact Us: admin [ a t ] ucptt.com