133:图的克隆
133:圖的克隆
參考:
- c++11 之emplace_back 與 push_back的區別:https://blog.csdn.net/p942005405/article/details/84764104
- c++ map與unordered_map區別及使用:https://blog.csdn.net/qq_21997625/article/details/84672775
- unordered_map:https://en.cppreference.com/w/cpp/container/unordered_map
題目詳解
- 圖的克隆
- 使用一個map 來表示已經訪問過的節點,如果已經訪問過,就直接返回
- 沒有訪問過,則構造一個節點
- 節點的val直接復制
- 節點的neighbour使用emplace_back進行設置
1:Unordered__map
- 引入了哈希表,使得查找的時候更加的方便
2:Auto
- 申明變量的時候根據初始的表達式自動的推斷變量類型(必須有初始值)
- 聲明函數時函數返回值的占位符
- auto 不能和其他的類型一起使用
3:Emplace_back
- 和push_back的區別
- 在對右值引用進行操作的時候,我們會用構造函數構造成臨時對象,再通過拷貝構造函數將這個臨時對象放入到容器中,原來的臨時變量釋放。這樣就會造成臨時變量申請資源的浪費
- emplace_back
- 在容器的尾部添加一個元素,原地構造,不需要觸發拷貝構造和轉移構造
總結
- 上一篇: C 语言判断大端小端
- 下一篇: 百度搜索资源平台添加自己的网站