簡體   English   中英

在鏈表中實現最小方法,如果隊列為空或返回隊列的最小值,則返回消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM