原创 牛客華爲機試之字符串分隔

#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; #include<string> void fun(string & s,string &

原创 在線OJ中的注意事項

在第一次使用在線OJ時,題目是這樣的: 輸入一個字符串,求出該字符串包含的字符集合輸入描述:每組數據輸入一個字符串,字符串最大長度爲100,且只包含字母,不可能爲空串,區分大小寫。輸出描述:每組數據一行,按字符串原有的字符順序,輸出字符集

原创 STL中有關deque、stack、queue、priority_queue

deque deque中的修改類接口由於deque是雙端隊列,所以有頭插頭刪和尾插尾刪操作。下面的棧和隊列的底層都是通過的deque實現的。爲什麼要用deque作爲其底層數據結構呢?主要是因爲:棧和隊列都只需在一頭進行操作,故不需要迭代器,

原创 棧的壓入彈出序列問題

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdlib.h> #include<iostream> using namespace std; #include<vector> #include<

原创 波蘭式表達式(後綴表達式)求值

#define _CRT_SECURE_NO_WARNINGS 1 using namespace std; #include<stdlib.h> #include<iostream> #include<vector> #include<

原创 static在C/C++中的作用

static:靜態!!在C/C++中共有的特點是1.static修飾全局變量:表明這個全局變量只在同一文件中函數可見。2.static修飾局部變量:表明這個局部變量的值不會因爲函數的結束而丟失。3.static修飾函數:表明該函數只能在同一

原创 模擬實現stl中的list

模擬實現list即將list中的函數模擬實現,同樣也分爲五部分:構造與析構、容量、迭代器、元素訪問、元素修改。需要注意的問題是list中的迭代器,與vector中不同的是list不是順序結構,所以我們要對迭代器進行封裝,其使用規則也要在這個

原创 vector

vector這個容器表示可變數組的序列容器,也是連續的內存空間,我們在理解它的時候就按照順序表的方式去理解即可。我們在看vector的常用接口時還是將它分類來看:構造與析構、迭代器、元素訪問、元素修改、容量。 構造---->常用構造方式:s

原创 c/c++內存管理

內存區域:由這張圖我們可以看到程序在內存中的分佈,不同的變量存放在不同的區域,而內核空間是用戶無法進行讀寫的用來存儲有關的信息。要注意棧向下生長,堆向上生長,堆棧相對而生,我們今天主要談在堆上申請空間的相關知識,我們知道在c語言中想要在堆上

原创 string類

STL:c++標準模板庫,對常見的數據結構進行封裝,包含一些通用類型的算法。 string類:一、構造(常用四個)string()string(const string & str)拷貝string(const char *)C風格stri

原创 淺談模板

什麼是模板?就是告訴編譯器一個模子,讓編譯器根據不同的類型生成不同的代碼。編寫與類型無關的函數,是代碼複用的一種手段。函數模板 template<typename T> void Swap( T& left, T& right) {

原创 類與對象的認識

類和對象 c是一門面向過程的語言關注的過程,c++作爲一門面向對象的語言關注的時對象,把事情拆分爲不同的對象,通過對象的交互來實現。 一.類和對象的初認識 1.類的引入類用關鍵字class引出,與之前的結構體類似,不同的是結構體內不能定義函

原创 c++入門之基本概念

c++由c語言衍生而來,最大的特點就是它是一門面向對象的語言,面向過程(c)即需要我們去按照步驟去一步一步寫代碼,而c++提供的面向對象機制幫助我們更有效更方便的開發。 1.關鍵字:根據版本的不同關鍵字的個數有所不同,c中

原创 寫一個函數,將字符串中空格替換爲%20。

寫一個函數,將字符串中空格替換爲%20。樣例:"abc defgx yz"替換爲"abc%20defgx%20yz"。這道題是一道簡單的字符和字符串替換題,字符的替換直接用指針即可,每次都需要把空格後的字符串保存到一個數組中,然後把空格替換

原创 模擬實現memmove函數

完成這道題目之前首先要明確memmove是對內存進行操作,所以函數的參數是void *,即可以操作任意類型的數據。 其次要明白兩個待處理數據的關係,於是我畫了一張圖幫助大家理解上面的是特殊情況,發生內存重疊時只有這種情況是需要從右向左進行操