原创 引用

引用不是定義一個新的變量,而是給一個已經定義的變量重新起一個別名。定義的格式爲:類型 &引用變量名 = 已定義過的變量名;引用的特點:1. 一個變量可取多個別名2. 引用必須初始化3. 引用只能在初始化的時候引用一次,不能改變爲再引用其他的

原创 單例模式

單例模式單例模式也叫單件模式,在單例模式中,構造函數應該在private中,限制只能在類內創建對象。1. 單例類保證全局只有一個唯一實例對象。2. 單例類提供獲取這個唯一實例的接口。實現單例模式的思路:一個類能返回對象一個引用(永遠是一個)

原创 mysql基本命令

  mysql基本命令:1、net stop mysql   //關閉mysql客戶端                              2、net start  mysql  //開啓mysql                  

原创 類的默認成員函數

類的六個默認成員函數:構造函數、拷貝構造函數、析構函數、賦值操作符重載、取地址的操作符重載、const修飾的取地址操作符重載。1.【構造函數】成員變量爲私有的,要對它們進行初始化,必須用一個公有成員函數來進行。同時這個函數應該有且僅在定義對

原创 重載、重寫、重定義

重載:函數名相同,作用域相同,參數類型不同,返回值不同。重寫:函數名相同,作用域不同,參數類型相同,有繼承(基類必須有virtual關鍵字)。重定義:函數名相同,作用域不同,如果重寫的條件不滿足,就是重定義(在基類和派生類中只要不構成重寫就

原创 常見的排序算法

   排序是計算機內經常進行的一種操作,其目的是將一組“無序”的記錄序列調整爲“有序”的記錄序。       常見的排序算法:冒泡、快排、插入、希爾、選擇、堆排、歸併。1、冒泡排序原理:一個無序數組,按照升序排列。int i 代表循環的次數

原创 多態

c++多態分爲靜態多態和動態多態。1、靜態多態:靜態多態實現的方式是重載,而重載實現的機制是函數的重命名,與類型函數名是有關係的,達到重名名就達到了重載的效果。2、動態多態:(一個接口的多種實現)多態實現的前提是有子類、父類,有繼承關係;要

原创 繼承

繼承是面向對象複用的重要手段。通過繼承定義一個類,繼承是類型之間的關係建模,共享公有的東西,實現各自本質不同的東西。三種繼承關係:public、protected、private三種繼承關係下基類成員在派生類的訪問關係變化。public繼承

原创 鏈表

鏈表和數組的區別:鏈表:動態內存分配,用多少分配多少,方便插入刪除數據,根據next指針找到下一個元素。對於訪問數據,需要從頭到尾遍歷整個鏈表,知道找到需要訪問的數據,添加、刪除時不用移動節點,直接在指定位置插入、刪除。數組:需要分配一塊連

原创 有序二維數組中的查找

題目:在一個二維數組中,每一行都按照從左到右遞增的順序排列,每一列都按照從上到下遞增的順序排列。輸入這樣一個二維數組和一個整數,判斷數組中是否含有該整數。思路:首先看到這樣一個題目我們先分析題目,把二維數組在紙上畫成一個矩形。列如:1 2

原创 數組中出現次數超過一半的數字

題:數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。思路:首先看到這個題目,數組中一個數字出現的次數超過數組長度的一半,也就意味着這個數字出現的次數比數組中其它數字出現次數的總和還多。我們在遍歷的數組的時候可以用兩個值來記錄,

原创 線索化二叉樹

      二叉樹是一種非線性結構,遍歷二叉樹幾乎都是通過遞歸或者用棧輔助實現非遞歸的遍歷。用二叉樹作爲存儲結構時,取到一個節點,只能獲取節點的左孩子和右孩子,不能直接得到節點的任一遍歷序列的前驅或者後繼。     爲了保存這種在遍歷中需要

原创 奇數位於偶數前面

題目:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,偶數位於後半部分。 思路:這個題目要求把奇數放在數組的前半部分,偶數放在數組的後半部分,因此數組中所有奇數位於偶數前面。我們在掃描這個數組時,遇到

原创 二叉搜索樹

     二叉查找樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹:1、每一個節點都有一個作爲搜索

原创 類和對象

  對象指的是類的實例,類不佔有內存空間,只有實例化出的對象佔內存空間。空類對象(無成員變量的類)的大小是1,因爲空類同樣可以被實例化,每個實例在內存中都有獨一無二的地址。class A {}; int main() { A a; co