為什麼這篇虛擬碼論文鄉民發文收入到精華區:因為在虛擬碼論文這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jack3651 (黃金柳橙汁)看板Grad-ProbAsk標題[理工] 虛擬碼的寫法時間Tue...
虛擬碼論文 在 Dr William LO 盧永仁博士 Instagram 的最佳貼文
2020-07-03 05:39:21
這是一個三個男人飯局的故事... 自己不用介紹了,能看到這裏的都是朋友,都有緣份;我跟莫樹錦教授是三十多年的朋友,他是世界首屈一指的腫瘤科專家,也是香港中文大學威爾斯親王醫院腫瘤科主任,近年他主持的肺腫瘤診斷和醫治研究都被列為世界上最權威的醫學論文之一!我跟他有關連的地方是自己也曾從事科研,在80年...
請問虛擬碼要怎麼寫比較正確呢
目前我對虛擬碼的作法是:
1.是一支程式的函數(或方法、副程式)
2.有必要時要在副程式外面宣告(例如:陣列的格式)
3.要有回傳值(return、陣列、&指標)
有些虛擬碼直接用Index當做全域變數
可以在函數裡面修改的那種(call by reference)
所以就沒有回傳值
例如:Stack的Push 2種版本
1.網路高手版 //問題
void push(stack &stack , type data)
{
Index top; //直接使用Index當全域變數
if(top=MAX_SIZE){
print"Stack is full";
}
else{
stack[top]=data;
top=top+1;
}
}
2.洪逸板
宣告:S:array[1...n] of item; //在函數外面宣告了兩個變數
Top:int = 0;
push(S,item) //沒有設回傳值型態
{
if(Top==n)then return "S full";
else{
Top=Top+1;
S[Top]=item;
}
}
請問哪一種比較正確呢?
順便想問問寫虛擬碼有什麼訣竅,這個地方常常弄不懂,感謝各位高手的幫忙> <
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.185.240
Stack的Push和Pop
宣告:keytype S[1...n];
int Top=0;
void push(keytype S[], keytype data){
if(Top=n)
print"stack is full";
else{
S[Top]=data;
Top=Top+1;
}
}
void pop(keytype S[]){
if(Top=0)
print"stack is empty";
else
Top=Top-1;
}
這樣寫可以嗎?
※ 編輯: jack3651 來自: 220.133.185.240 (12/31 23:04)