原创 二叉樹整理(二)

1、分層遍歷二叉樹(按層次從上往下,從左往右) 相當於廣度優先搜索,使用隊列實現。隊列初始化,將根節點壓入隊列。當隊列不爲空,進行如下操作:彈出一個節點,訪問,若左子節點或右子節點不爲空,將其壓入隊列。 void LevelTrave

原创 七層和四層網絡協議模型功能介紹

1、OSI七個層次的功能 物理層 爲數據鏈路層提供物理連接,在其上串行傳送比特流,即所傳送數據的單位是比特。此外,該層中還具有確定連接設備的電氣特性

原创 http常見的請求頭

HTTP常見的請求頭(在HTTP/1.1 協議中,所有的請求頭,除Host外,都是可選的) If-Modified-Since:把瀏覽器端緩存頁面的最後修改時間發送到服務器去,服務器會把這個時間與服務器上實際文件的最後修改時間進行對比

原创 C++理論概述及其對C語言的升級

1、爲什麼選擇C++語言? 首先其作爲嵌入書工程師的崗位需求,其次其是面向對象的編程語言,直接分析用戶需求中涉及的各個實體,在代碼中描述現實世界中的實體,關聯各個實體協同工作來解決問題,能夠適應用戶需求的不斷變化,直接利用面向過程方法的優

原创 面向對象的編程(一)

類與對象 1、類的聲明 格式:class 類名稱       {           public:           private:           protected:       } 關鍵字public後面的指的是類與外部的

原创 struct與union的對齊方式解析

一、Struct 和 Union有下列區別: 1.在存儲多個成員信息時,編譯器會自動給struct第個成員分配存儲空間,struct 可以存儲多個成員信息,而union每個成員會用同一個存儲空間,只能存儲最後一個成員的信息 2.都是

原创 黑白卡片——每日一練

牛牛有n張卡片排成一個序列.每張卡片一面是黑色的,另一面是白色的。初始狀態的時候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛現在想要把一些卡片翻過來,得到一種交替排列的形式,即每對相鄰卡片的顏色都是不一樣的。牛牛想知道最少需要翻轉多少張卡

原创 heap和stack區別

heap:是由malloc之類函數分配的空間所在地。地址是由低向高增長的。  stack:是自動分配變量,以及函數調用的時候所使用的一些空間。地址是由高向低減少的。  預備知識—程序的內存分配  一個由c

原创 黑化、膨脹的牛牛——每日一練

黑化的牛牛 牛牛變得黑化了,想要摧毀掉地球。但他忘記了開啓地球毀滅器的密碼。牛牛手裏有一個字符串S,牛牛還記得從S中去掉一個字符就恰好是正確的密碼,請你幫牛牛求出他最多需要嘗試多少次密碼。 如樣例所示S

原创 用兩個棧來實現一個隊列

題目:用兩個棧實現一個隊列。隊列聲明如下,請實現它的兩個函數appendTail和deleteHead,分別完成在隊列尾部插入結點和在隊列頭部刪除結點的功能 聲明: template <typename T>class CQueue {

原创 unsigned int與int相加如何轉化問題

有符號數和無符號數在一起運算,不要以爲遵循的仍然是短的向長的靠齊。以前我們知道,如果一個short和一個int在一起運算,首先編譯器會將short自動轉換爲一個int類型中間變量,然後進行運算。但是有符號

原创 編程實現蛇形代碼的輸出

編寫一個程序,輸出類似的蛇形代碼:  1 2 3 4 5  16 17 18 19 6  15 24 25 20 7  14 23 22 21 8  13 12 11 10 9 #include <stdio.h> #include

原创 C++中static,const,mutable關鍵字

1、空類默認生成的成員 class Empty{}; Empty();//默認構造函數 Empty(const Empty&);//默認拷貝構造函數 ~Empty();//默認析構函數 Empty& operator=(const Emp

原创 UML建模——狀態圖

狀態圖目錄: 一、狀態圖簡介(Brief introduction) 二、狀態圖元素(State Diagram Elements) 1、狀態(States) 2、轉移(Transitions) 3、動作(State Actions)

原创 Linux shell之打印命令

1、echo 命令 echo是Shell的一個內部指令,用於在屏幕上打印出指定的字符串。命令格式: echo arg 您可以使用echo實現更復雜的輸出格式控制。 ---------- 顯示轉義字符 "e