原创 C++ primer-練習5.14

編寫一段程序,從標準輸入中讀取若干 string對象並查找連續重複出現的單詞。所謂連續重複出現的意思是:一個單詞後面緊跟着這個單詞本身。要求記錄連續重複出現的最大次數以及對應的單詞。如果這樣的單詞存在,輸出重複出現的最大次數;如果不存在,

原创 C++ primer-練習3.27和3.28

 練習3.27:假設txt_size是一個無參數的函數,它的返回值是int。請回答下列哪個定義是非法的? unsigned buf_size=1024; (a).int ia[buf_size]; (b).int ia[4*7-14]

原创 解引用和遞增運算符混用來遍歷vector

 這樣的遍歷看上去簡潔不囉嗦 #include<iostream> #include<vector> using namespace std; int main() { vector<int> ivec{ 1,3,0,8,0,-3

原创 算法導論---堆排序

#include<iostream> using namespace std; void heapsort(int *a, size_t size); void buildheap(int *a, size_t size); void

原创 算法導論——最大子數組

之前都在準備考試,寒假還是繼續學習。除了家裏打掃衛生,似乎也確實沒什麼事。多看書,多寫代碼,總能提高的。堅持。。。。 這次學到了函數返回值可以是一個結構體,當我們要返回多個值的時候,就可以返回結構體。還有就是對分治法有了更深的認識。

原创 算法導論——2.1-2選擇排序

題目:考慮排序存儲在數組A中的n個數:首先找出A中的最小元素並將其和A[1]中的元素交換。接着,次大值和A[2]交換。以此類推。 #include<iostream> using namespace std; int main()

原创 C++ primer-練習6.22

編寫一個函數,令其交換兩個int指針。 #include<iostream> using namespace std; void swap(int **pi, int **pj); int main() { int i = 9,

原创 算法導論——歸併排序

前面寫過選擇排序和插入排序,下面是歸併排序,如下: #include<iostream> using namespace std; const int sentry = 999999; void Merge( int ia[],

原创 C++ primer-練習5.17

 題目:假設有兩個包含整數的vector對象,編寫一段程序,檢驗其中一個vector對象是否是另一個的前綴。爲了實現這一目標,對於兩個不等長 的vector對象,只需挑出長度較短的那個,把它的所有元素和另一個vector對象比較即可。

原创 C++ primer-練習5.12

題目:修改統計元音字母的程序,使其能統計以下含有兩個字符的字符序列的數量:ff,fl,fi。 #include<iostream> using namespace std; int main() { char ch; int ff

原创 C++ primer-練習5.10

題目:我們之前實現的統計元音字母的程序存在一個問題:如果元音字母以大寫形式出現,不會被統計在內。編寫一段程序,既統計元音字母的小寫形式,也統計大寫形式,也就是說,新程序遇到 'a' 和 'A' 都應該遞增 aCnt 的值,以此類推。 #

原创 C++ primer-練習5.11

 題目: 改統計元音字母的程序,使其也能統計空格、製表符和換行符的數量。 #include<iostream> #include<string> using namespace std; int main() { string

原创 C++ primer-練習3.30~3.32

3.30:指出下面代碼中的索引錯誤。 constexpr size_t array_size=10; int ia[array_size]; for(size_t ix=1;ix<=array_size;++ix)       ia[ix

原创 算法導論——棧

 補了點C++primer,會寫一點簡單的class了,然後馬不停蹄用C++實現一下棧和隊列。這一篇是棧,隊列在下一篇。才學class難免不好看,但是用的多了就好了。我不僅寫了導論上的3個函數,還寫了一些別的,不過都是差不多的,簡單。

原创 算法導論——2.3-2無哨兵情況下的歸併排序

沒有哨兵時,可以設置一個判斷,只要2個分數組的一個到達底端就把另一個的後續元素賦給原數組。具體如下: #include<iostream> using namespace std; const int sentry = 999999;