題意:給出n個結點的位址address,資料域data以及 指標域next,然後給出鍊錶的首位址,要求把在這個鍊錶上的結點按資料域data公升序輸出。
思路:
1.定義靜態鍊錶,其中flag表示結點在鍊錶中是否出現,flag 為 false表示無效節點。
2.初始化flag,令flag為false,表示初始狀態均為無效節點。
3.遍歷鍊錶,標記有效結點的flag為true,同時計數有效結點的個數。
4.對結點進行排序,排序原則:按flag從大到小排序(把有效結點即flag為1的結點排到前面,把無效結點即flag為0的結點排到後面),否則flag為同值的話,按資料域data公升序排序。
5.前面已經排序完畢,按要求輸出即可。
PAT甲級題解目錄
寫在前面 9月8號剛參加了第一次pat甲級考試,成績還算是滿意。但是沒有滿分,算是有一點小遺憾,於是打算12月再來一次,但是這次採用佛系備考與吃老本的複習方法 畢竟初試重要啊 為了記錄一下成長歷程和各題要點,順便做乙個部落格題解,也給有需要的戰友們提供乙個參考吧。本部落格純屬個人記錄與經驗分享,不帶...
PAT甲級題解1004
注意的是m代表的是the number of non leaf nodes 要看清楚題意,一開始把n m認為是輸入的行數了 利用vector特性 題意大致是尋找每層葉結點的個數,dfs遍歷這棵樹,遍歷時統計即可。include using namespace std const int maxn 1...
PAT甲級題解 1021
先判斷有幾個連通塊嗎,因為已經滿足邊的個數等於頂點個數減1所以一定是一棵樹,只要是1.本來用的是優先佇列,最後發現沒過,其實是error k components 少了個s看題目一定要仔細 include using namespace std const int maxn 10100 vector...