這題花了比較久的時間。 之前做過類似的題。data陣列用來裝位址對應的數,主要用來比較大小;next陣列用來裝指向下乙個的位址,主要用來遍歷整個鍊錶。只需要搞清楚如何把數字們排序就好。我是遍歷三次整個鍊錶,每次分別把應該放在最左、中間和最右的數的位址給裝進乙個一維陣列。最後遍歷一維陣列進行列印。
#includeusing namespace std;
int main()
// 檢查游離結點
for(int m=a, num=0; m!=-1; m=next[m], num++)
} // 分別找出最左、中間、最右的排序
int queue[n], p, pre, move=0;
for(int i=0; i<3; i++)
} // 開始列印
for(int i=0; iprintf("%05d %d -1\n", queue[move-1], data[queue[move-1]]);
return 0;
}
C 版浙大PAT乙級1006(15分)
include includeusing namespace std int main else if i str.size 2 else if i str.size 3 cout res endl return 0 這題看似簡單但是把我給氣到了。但其實是我沒理解到題意。題意是,輸入乙個小於1000...
C 版浙大PAT乙級1019(20分)
include includeusing namespace std int main sort arr,arr 4 構建num1,num2 for int i 0 i 4 i num num2 num1 printf 04d 04d 04d n num2,num1,num while num 61...
C 版浙大PAT乙級1024(20分)
include include includeusing namespace std int main 3.前移or後移 if str p 1 else str.erase 0,p 2 4.指數 zhi atoi str.c str 開始移位 while zhi dot 0 else if dot ...