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