摘要:Abstract前一篇(原創) 如何使用C語言的標準函式庫進行排序? (C)談到使用C語言stdlib.h的qsort()對array進行排序,C++呢?STL也提供了sort() algorithm。IntroductionSTL的sort()不僅僅支援array,還支援其餘的container如vector,list等,這也是泛型之美,container和algorithm徹底decouple...
阅读全文
随笔分类 - STL/Boost學習
摘要:Abstract寫文字檔轉檔程式是很常見的需求,一般來說,這種都屬於dirty job,沒什麼技巧,純粹是迴圈硬幹,若使用STL來寫轉檔程式,不只程式超短,一個迴圈都不需要!!Introduction昨天網友Momo要我幫他寫一個轉檔程式,將文字檔轉成XML檔,格式如下文字檔user_b5fix.dat-1,-1,-1,-1,-1,-1一元運算符,一元運算子二叉樹,二元樹二元運算符,二元運算子二分...
阅读全文
摘要:Abstract若用C語言配合迴圈,這是個很簡單的題目,但若用C++配合STL,則有很漂亮的寫法。Introduction陣列中有2、3、1、3、5五個值,希望能列出大於2的所有元素。C++1/*2(C) OOMusou 2008 http://oomusou.cnblogs.com34Filename : GenericAlgo_remove_copy_if_predicate.cpp5Comp...
阅读全文
摘要:Abstract在(原創) 如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++) (STL) 中已经可顺利将字符串前后的空白去除,且程序相当的精简,在此用另外一种方式达到此要求,且可同时将whitespace去除,并且使用template写法。Introduction原來版本的程式在VC8可執行,但...
阅读全文
摘要:Abstract若需要將程式碼放進word交報告或做文件時,或許我們會想將程式碼加上行號方便講解,如同博客園顯示程式碼那樣,我們該如何做呢?Introduction使用環境:Visual C++ 9.0 / Visual Studio 2008一段C++的小程式,可以幫程式碼加上行號後輸出。map_code_line.cpp / C++[代码]執行結果[代码]32行[代码]是整個程式的關鍵:使用m...
阅读全文
摘要:Abstract一個很常見的需求:『將struct塞進vector』,在C++該怎麼做呢?Introduction使用環境:Visual C++ 9.0 / Visual Studio 2008由於vector只允許一個欄位,所以才會想將struct塞進vector,以彌補vector的不足。struct_in_vector.cpp / C++[代码]執行結果[代码]由於vector內放的是str...
阅读全文
摘要:Abstract回文是學習C語言時,常出現的作業與考題。Introduction所謂回文,就事字串的第一個字元等於最後一個字元,第二個字元等於倒數第二個字元。palindrome.c / C[代码]18行[代码]依序檢查字串第一個字元是否等於最後一個字元,第二個字元是否等於倒數第二個字元,若發現任何一個字元不同,就不是回文。感謝沐枫的提醒,在C++有更精簡的寫法。palindrome.cpp / ...
阅读全文
摘要:warning C4018: “<”: 有符号/无符号不匹配出错代码 for(int j=0;j<detector.size();j++)出错原因分析: detector 是一个Vector容器 ,detecot.size() 在容器说明中 被定义为: unsigned int 类型, 而j是int 类型 所以会出现: 有符号/无符号不匹配 警告 错误改正 :...
阅读全文
摘要:#include "stdafx.h"#include <string>#include <vector>#include <algorithm>#include <iostream>using namespace std;int main(int argc, char* argv[]){vector<int> coll;vector&l...
阅读全文