原创 圖的表示方法C++實現

圖的表示最長用的兩種方法是: 1)、鄰接矩陣表示法 2)、鄰接表表示 下面是兩種構造圖的方法 1)鄰接矩陣: [cpp] view plaincopy #include <iostrea

原创 Xpath簡單匹配標籤內容

Xpath Xpath全程爲xml路徑語言,用來確定xml文檔中某部分位置的語言。 使用Xpath需要安裝lxml庫,lxml爲Python的第三方庫,安裝方法可以直接下載庫文件手動添加到python庫文件夾下或者使用pip安

原创 直方圖最大容量問題

給定n個非負整數,表示直方圖方柱高度,方柱寬度假定爲1,假設用這個形狀的容器盛水,求其最大盛水量。 如輸入爲0,1,0,2,1,0,1,3,2,1,2,1;輸出爲6: 輸入6,3,2,0,3,2,0,1,5,6,4,3,7

原创 爲什麼構造函數不能是虛函數而析構函數可以

首先,虛函數的實現原理是:在定義具有虛函數的類或者繼承類的繼承的時候,會相應建立一個虛函數表vtable,即每個類都對應一個需函數表,而在定義類的對象的時候,每個對象都會有一個指向相應類的虛表指針vptr,vptr指向虛表的入口地

原创 從前序+中序或者後序+中序序列中恢復二叉樹過程

給出前序遍歷和中序遍歷,如何繪製出二叉樹: 如果給出遍歷產生的一串字符,不容易確定各個字符在樹中的具體位置,因而需要兩個遍歷串相結合才能畫出一棵二叉樹。 如,給出前序遍歷ADFGHKLPQRWZ,中序遍歷GFHKDLAWRQP

原创 幾種常見簡單排序算法

- 簡單選擇排序 循環遍歷整個數組,每次遍歷都是從當前待填充位置開始,找出未排序集合中的最小值,每次找到更小值都記錄其值和位置信息,遍歷完成後,將最小值與當前待填充點 進行交換(也就是說需要同時保留着兩個位置信息,一個爲

原创 直方圖內矩形面積

輸入一組直方圖數據,其中每列的寬度爲1,求所給直方圖包含的最各個高度的矩形面積。比如,對於直方圖[2,7,9,4,1],它所包含的各個高度矩形的面積爲8,14,9,12,5 給定一個直方圖及它的總寬度返回相應面積。 方法一:

原创 將中綴表達式轉換成後綴表達式並計算

1、將以字符串形式輸入的中綴表達式轉換成後綴表達式 初始化一個空棧用於存儲操作符 對於中綴表達式從左向右遍歷,每得到一個字符,進行判斷 a、如果是數字,則直接加入到後綴表達式中,同時判斷下一個 字符是也是數字,

原创 求兩點間距離

Problem Description 輸入兩點座標(X1,Y1),(X2,Y2),計算並輸出兩點間的距離。 Input 輸入數據有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,數據之間用空格隔開。 O

原创 指針淺析

對於指針的理解一直比較混亂,此處分析一些簡單類型的指針加深自己的理解, 指針的理解 指針的定義: int p; //定義普通整型變量; int p; //定義一個指針p,指針類型是 int 型,而指針指向的內容的類型

原创 劍指offer42-翻轉單詞順序和字符串的左旋轉

翻轉句子中的單詞順序,輸入一個句子,翻轉句子中的單詞順序,但是單個單詞中的字母順序不變,如“I am a student.”翻轉後爲“student. a am I”。翻轉方式爲,首先將整個句子當成是一個字符串進行翻轉,得到“.tnedu

原创 數組分析

#include <iostream> using namespace std; void main(int argc, char* argv) { int arr1[6] = { 0, 1, 2, 3, 4, 5 }; //直接使用

原创 C++面試常見問題整理(待補充)

1、 對於static的理解? 2、 Static修飾的全局變量和普通全局變量有什麼區別?static修飾的局部變量和普通局部變量有什麼區別? 3、 對於extern關鍵字的理解? 4、 用static修飾和extern修飾

原创 MFC常用字符編碼轉換

MFC中幾種字符串的理解 CStringT CStringT爲模板類,CString、CStringA、CStringW爲其三種具體實現; CStringA 該類在系統中定義爲: typedef ATL::CStringT< char

原创 Markdown入門筆記

以‘#’開頭作爲標題級別,幾個‘#’代表幾級標題,這是一級標題; 這是‘##’二級標題; ps:Markdown是通過表基本符號開頭來進行內容的分割的,且在基本符號後面需要添加空格; 代碼塊添加 對於輸入代碼,可以使用一對三個反引號““`