原创 C++之動態內存與智能指針

文章目錄頭文件shared_ptr和unique_ptr支持的操作shared_ptrunique_ptrweak_ptr動態數組allocator類 頭文件 #include <memory> shared_ptr和uniqu

原创 c++之拷貝控制

文章目錄引言拷貝與賦值拷貝構造函數拷貝複製運算符三五法則需要析構函數的類也需要拷貝和賦值操作需要拷貝操作的類也需要複製操作,反之亦然使用=default阻止拷貝定義刪除的函數析構函數不能是刪除的成員合成的拷貝控制成員可能是刪除的定

原创 C++之重載運算與類型轉換

文章目錄基本概念輸入和輸出運算符重載輸出運算符重載輸入運算符賦值運算符算術和關係運算符算數運算符相等運算符下標運算符遞增和遞減運算符重載、類型轉換與運算符類型轉換運算符 基本概念 重載的運算符是具有特殊名字的函數:它們的名字由關鍵

原创 C++之模板與泛型編程

文章目錄定義模板函數模板類模板類模板與友元類模板與static模板實例化函數實例化 定義模板 函數模板 template <typename T> int compare (const T &v1, const T &v2){

原创 C++之泛型算法

文章目錄只讀算法寫容器元素算法消除重複單詞算法lambda表達式 只讀算法 (1)accumulate返回容器的和 int sum = accumulate(vec.cbegin(),vec.cend(),0); string s

原创 C++之函數深究

文章目錄函數返回值爲數組指針const_cast和重載 函數返回值爲數組指針 一共有三種寫法,如下: //one typedef int arrT[10]; arrT* func(int i); //two auto func(i

原创 PTA甲級考試真題練習154——1154 Vertex Coloring

題目 思路 水題 代碼 #include <iostream> #include <vector> #include <set> using namespace std; vector<pair<int, int>> edge;

原创 PTA甲級考試真題練習155——1155 Heap Paths

題目 思路 水題 代碼 #include <iostream> #include <vector> using namespace std; vector<int> vec; vector<int> tmp; bool isMa

原创 PTA甲級考試真題練習153——1153 Decode Registration Card of PAT

題目 思路 注意兩點: 要用printf代替cout否則最後兩個測試點超時 要三個查詢要分開存儲,不能存儲在一個大塊,活用unordered_map 代碼 #include <iostream> #include <vect

原创 PTA甲級考試真題練習151——1151 LCA in a Binary Tree

題目 思路 和1143差不多,主要是查找函數有變化,這個是要每次將整顆樹遍歷一遍,而1141是遍歷到結點就行了。 代碼 測試點1有誤,望大神解答 #include <iostream> #include <vector> #in

原创 PTA甲級考試真題練習152——1152 Google Recruitment

題目 思路 注意看輸出的時候要輸出前面的0即可 代碼 #include <iostream> #include <string> #include <string.h> using namespace std; bool IsP

原创 PTA甲級考試真題練習150——1150 Travelling Salesman Problem

題目 思路 水題 代碼 #include <iostream> #include <vector> #include<math.h> using namespace std; const int nmax = 210; int

原创 PTA甲級考試真題練習149——1149 Dangerous Goods Packaging

題目 思路 水題,hash 代碼 #include <iostream> #include <vector> using namespace std; const int nmax = 100010; vector<int> ve

原创 PTA甲級考試真題練習148——1148 Werewolf - Simple Version

題目 思路 二重循環假設兩個狼人,判斷說謊人數,如果恰好爲2並且一個是狼人一個是平民,則輸出,若找不到則輸出No Solution 代碼 #include <iostream> #include <vector> #includ

原创 PTA甲級考試真題練習147——1147 Heaps

題目 思路 水題 代碼 #include <iostream> #include <vector> using namespace std; vector<int> vec,post; int n, m; int mark[2]