[英]Implementing a minimum method in a linked list that returns a message if the queue is empty or returns the lowest value of the queue
返回字符串以允許空消息的最小方法。 我有錯誤,並非所有代碼路徑都返回值?
此方法的想法是返回存儲在鏈表中的最小值。 如果鏈接列表為空,則返回消息,說明隊列為空。
旁注:我正在嘗試實現帶有排隊列表的隊列
public string Minimum()
{
string min = "The Queue is empty";
if (head == null)
{
return min;
}
SLLNode curr = head;
SLLNode prev = null;
int minimum = 0;
while (curr != null)
{
// have a match
if (curr.NodeValue <= minimum)
{
minimum = curr.NodeValue;
prev = curr;
curr = curr.Next;
min = minimum.ToString();
}
else
{
// advanced curr and prev
prev = curr;
curr = curr.Next;
}
return min;
}
}
}
//return min;
}
return min;
}
這是簡化的功能。 您將minimum
初始化為0
而不是第一個節點的值或較高的值。 您不必要地使用了兩個指針,並在else
復制了獲取的節點指針。 您測試了<=
但<
可以。
public string Minimum()
{
string min = "The Queue is empty";
if (head == null)
{
return min;
}
SLLNode curr = head;
int minimum = curr.NodeValue;
while (curr != null)
{
if (curr.NodeValue < minimum)
minimum = curr.NodeValue;
curr = curr.Next;
}
min = minimum.ToString();
return min;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.