struct === 如果有一個題目要求你處理某一班學生的成績,學生總共40人,而且科目總共有五科: 國文, 英文, 數學, 物理, 社會。 這時候你可能會想說那就開五個陣列吧! `int ch[45], eg[45], ma[45], py[45], so[45];` 確實這個方法是正確的。 但是如果今天要執行某些排序可能就沒那麼方便了,這時就該試試看struct 1. 宣告struct ``` struct student{ //宣告一個struct型態為student int ch, eg, ma, py, so; }; //分號一定要寫 ``` 2. 宣告以student為型態的東西 `student grade[45];` 3. 輸入成績 ``` for(int i = 1; i <= 40; i++) cin >> grade[i].ch >> grade ``` 我們上次的課程有提到在圖論中如果邊有權重該怎麽辦呢? struct! 1. ``` struct edge{ int u,w; //u為要去的方向,w為權重; } vector<edge> G[5005]; //宣告vector的型態為edge ``` 可是你們應該有個問題是vector只能push_back一個元素啊? 不其實用以用個小東西 G[v].push_back((edge){u,v}); 像這樣 練習時間 請你用struct模擬下件事 1