1. 程式人生 > 其它 >關於linux系統時區的檢視-修改與配置

關於linux系統時區的檢視-修改與配置

vector的常見用途:

1.儲存資料
(1)vector本身可以作為陣列使用,常用於一些元素個數不確定的場合。
(2)有些場合需要根據一些條件把部分資料輸出在同一行,資料中間用空格隔開。由於輸出資料的個數是不確定的,為了更方便地處理最後一個滿足條件的資料後面不輸出額外的空格,可以先用vector記錄所有需要輸出的資料,然後一次性輸出。
2.用鄰接表儲存圖
使用vector實現鄰接表可以讓一些對指標不太熟悉的讀者有一個比較方便的寫法。

vector實現鄰接表儲存圖:

如果想在鄰接表同時存放邊的重點編號和邊權,那麼可以建立結構體Node,用來存放每條邊的編號和邊權,程式碼如下:

struct Node {
    int v;    //邊的終點編號
    int w;    //邊權
}

這樣vector鄰接表中的元素型別就是Node型別,如下所示:
vector<Node> Adj[N];
如果需要新增從1號到3號頂點的有向邊,邊權為4,就可以定義一個Node型的臨時變數temp:

Node temp;
temp.v = 3;
temp.w = 4;
Adj[1].push_back(temp);

還有更快的方法就是定義結構體Node的建構函式,程式碼如下:

struct Node{
    int v,w;
    Node(int _v,int _w)  :  v(_v), w(_w)    {}    //建構函式
}

這樣就能不定義臨時變數來實現加邊的操作:
Adj[1].\push_back(Node(3,4));