Time of Update: 2018-07-25
一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鏈表,呵呵。 3、全域區(靜態區)(static)—,全域變數和靜態變數的儲存是放在一塊的,初始化的全域變數和靜態變數在一塊地區,
Time of Update: 2018-07-25
一、二叉樹 1、用遞迴方法實現二叉樹的先序、中序、後序遍曆 class TreeToSequence { public : void preOrder(TreeNode* root,vector<
Time of Update: 2018-07-25
第15章 物件導向編程 1 物件導向編程基於三個基本概念:資料抽象、繼承和動態綁定。 2 繼承層次共用共用的東西,僅僅特化本質上不同的東西。
Time of Update: 2018-07-25
第12章 類 1 資料抽象是一種依賴於介面和實現分離的編程(和設計)技術。封裝時一項將低層次的元素組合起來形成新的、高層次實體的技術。 2 初始化const 或引用以及沒有預設建構函式的類類型資料成員的唯一機會是在建構函式初始化列表中。 3
Time of Update: 2018-07-25
第16章 模板與泛型程式設計 1 2 函數模板 template<typename T> int compare(const T &v1,const T &v2){ } //模板形參不可為空 3 類模板 template<class
Time of Update: 2018-07-25
快速排序是分而治之法的一種排序方法,快速排序將n個元素分為三段。left段,right段和middle段,中間僅有一個元素。我叫做關索引值。左邊的元素都不大於中間段,右邊的元素都不小於中間段。因此可以對left與right段進行單獨的排序。 完整代碼實現如下: #include<iostream> using namespace std;void quickSort(int array[],int X,int Y) //X,Y分別是數組的起始下標{
Time of Update: 2018-07-25
List容器對應普通資料結構中的鏈表。List容器支援快速隨機插入、刪除,但不支援快速隨機訪問元素;這與vector容器是不一樣的,vector容器不支援快速隨機插入、刪除,但支援快速隨 機訪問元素。 List容器的特性決定可以在不額外開闢儲存空間的基礎上實現插入排序,且時間複雜度為O(N^2),與數組實現快排的時間複雜度一樣。
Time of Update: 2018-07-25
說在前面的廢話 話說快一年沒寫過部落格了。。。 在建站之前就先用csdn寫吧 這次要說的東西也沒有啥,主要是想寫一次快排(學了這麼就快排都沒寫過你敢信 用法類似於stl裡面的sort,有兩個版本。 不知道為什麼寫了很長時間。。。這麼短的代碼 還是感覺數組版的好寫一點 學過快排的同學可以不用看下面這段了 快排的基本思想 1.選取一個基準 2.將比它”小”的放在它前面,比他“大”的放在後面(廣義的小和大) 3.遞迴處理前面那一段和後面那一段 實現步驟
Time of Update: 2018-07-25
堆疊溢位 , 簡而言之, 就是堆棧滿了,還往裡面塞東西。 一、堆疊溢位 堆疊溢位的產生的原因主要有以下幾個方面 1.1 遞迴層級過深 由於過多的函數調用,導致呼叫堆疊無法容納這些調用的返回地址,一般在遞迴中產生。堆疊溢位很可能由無限遞迴(Infinite recursion)產生,但也可能僅僅是過多的堆棧層級。 如下一段代碼: void foo(){ int a; foo();}int main(){ foo(); return 0;}
Time of Update: 2018-07-25
#include <iostream> using namespace std; int main() { char name[20]; char gender; int age; cout <<
Time of Update: 2018-07-25
隨著C++11標準的出現,C++標準添加了許多有用的特性,C++代碼的寫法也有比較多的變化。vector是經常要使用到的std組件,對於vector的遍曆,本文羅列了若干種寫法。 假設有這樣的一個vector: vector<int> valList = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 需要輸出這個vector中的每個元素,原型如下: void ShowVec(const vector<int>& valList){
Time of Update: 2018-07-25
使用iterator 遍曆時,刪除其中一個出了問題,結果是刪除了一個以後 不能再用自增了 c++ vector遍曆刪除元素 一直對vector的刪除操作不太熟悉,現整理下。其中前三部分先補充一些相關知識,然後第四部分給出範例程式碼。 一、關於Vector的earse方法 iterator erase ( iterator position );iterator erase ( iterator first,
Time of Update: 2018-07-25
程式碼: using System; using System.Text; namespace ConsoleApplication { class ChineseCode { public static void Main() { //擷取GB2312編碼頁(表) Encoding gb=Encoding.GetEncoding("gb2312"); //調用函數產生4個隨機中文漢字編碼
Time of Update: 2018-07-25
在C#中將.bmp轉為.jpg格式的函數或類是什麼,以及jpg檔案的壓縮函數--------------------------------------------------------------- 自己寫個, public class Bmp2Jpeg { private long lQuality=50L; private ImageCodecInfo
Time of Update: 2018-07-25
經過幾個月的漫長等待,《C語言從入門到精通》終於在電子工業出版社出版,心裡的石頭終於落了地。 這本書內容全面,講解細緻,自己也在這本書上付出了很大的心血,希望能得到更多讀者的歡迎,也希望大家能多提意見。 在這裡也非常感謝編輯,感謝希望圖書工作室,感謝電子工業,沒有他們的辛苦勞動,就沒有今天的成績,謝謝。 http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=10114096
Time of Update: 2018-07-25
在前面的文章中我們講述了C#如何?冒泡排序。那麼有沒有想過如何?對任意的資料類型進行冒泡排序呢。這裡我們將就此問題進行解答。首先我們瞭解到冒泡排序的本質就是升序或者降序排列一個數組的元素。我們首先去舉個例子來感受一下冒泡排序,像整型數組就是這樣排序: /// <summary> /// 整型數組的冒泡排序 /// </summary> /// <param
Time of Update: 2018-07-25
一、swap操作交換兩個相同類型的容器的內容,一般的容器(除array外),交換兩個容器內容的操作會保證非常快,因為並沒有交換元素本身,而只是交換了兩個容器的內部資料結構。 拿vector做個例子: #include <iostream>#include <vector>int main(){ std::vector<int> ivec1{ 1,2,3 }; std::vector<int> ivec2{ 4,5,6 };
Time of Update: 2018-07-25
Linux下C++開發工具CodeBlocks安裝技術方案 Linux下C++開發編譯一般是採用VIM直接文本編輯,採用GDB進行調試,G++進行編譯。這一套的技術方案可行,而且是最普遍的,但是存在的問題就是VIM寫代碼沒有一般的IDE那麼的方便,而且需要使用非常多的命令,GDB調試同樣需要使用很多命令,而且操作繁瑣,所以一套類似Eclipse的強大的IDE被人們所期待。
Time of Update: 2018-07-25
第一步安裝:CefSharp 在這裡面搜尋CefSharp,然後點擊安裝 搜尋到相應的組件後,點擊安裝。 安裝大概要幾分鐘,按照完成後,項目中會出現一個packages.config檔案。 我同事按照完成後,引用中會出現相應的dll包,而我按照完成後,並沒有添加到引用中,我是手動添加到引用中的。 這些dll包的位置在於,當組件安裝完成後,在項目裡面會多出一個packages檔案夾。 我這裡引用的都是X86檔案下的,例如:
Time of Update: 2018-07-25
安裝方法 自動安裝 yum install gcc (這是) yum install gcc-c++ (這是C++編譯器) yum install cmake 但是這樣並不能安裝指定版本 僅能安裝系統硬碟中的版本,下面以centos 6X64 安裝gcc 4.8.4為例 自訂安裝 1. 安裝gcc4.8.4 for 小白(其實我就是一枚) 下面的cd XX 表示進入某個目錄 預設情況下在root目錄下 cd .. or ’‘