在給定的程式碼中,reorder 函數似乎旨在確保 num 陣列符合最大堆的特性。最大堆是一個二元樹,其中每個父節點的值都大於或等於其子節點的值,最大的值在樹的根部,即 num[0]。
不管具體的數字是什麼,只要按照上面描述的 reorder 函數的工作原理,每次插入一個新的數字後,都會調整堆以維護最大堆的性質。當最後一個正整數輸入後,num[0] 將是所有輸入數字中最大的數字。
所以,當輸入99個隨機產生的正整數後,無論這些數字是什麼,reorder 函數都會確保 num[0] 是這99個數字中的最大值。當輸入0後,程式將結束,因為 while 循環的條件將不再滿足(i 不再不等於0),這時 num[0] 中的值將是所有輸入的正整數中的最大值。