原创 C++中類模板和實現分離的方法

C++中模板類的聲明和實現分離問題 2017-08-29 有兩種方式: 第1種:使用 .tpp 文件實現類模板的接口與實現的文件分離 在.h文件中放接口,在.tpp文件中放實現,但這種方法得在.h文件中,類的定義下面#inclu

原创 數制轉換

數制轉換,十進制數N和其他d進制數的轉換。 簡記爲:取模留餘,倒序輸出。 代碼如下,僅供參考。 /* 對於輸入的任意一個非負十進制整數, 打印輸出與其等值的d進制數 author:tianlan time:2017/04/05

原创 leetcode 338 Counting Bits

leetcode 338 Counting Bits 題目大意: 給定一個非負整數num,要求你計算 0<=i<=num範圍中,每個i的二進制表示中,有幾個1; 例如,給定num=5,那麼在0<=i<=num的範圍匯中的數爲{0,1,2,

原创 Leetcode 357 Count Numbers with Unique Digits

Leetcode 357 Count Numbers with Unique Digits 解題思路: (1) 當n=0時,0<=x<10^0 ==> 有且僅有1個數; f(0) = 1; (2)當n=1時,0<=x<10^1 ==>

原创 Leetcode 526 Beautiful Arrangement

Leetcde 526 Beautiful Arrangement C++版。 解題思想: 回溯。 AC代碼如下,僅供參考。 class Solution { public: int countArrangement(int N) {

原创 C++中模板類的聲明和實現分離問題

有兩種方法 第1種:使用 .tpp 文件實現類模板的接口與實現的文件分離 在.h文件中放接口,在.tpp文件中放實現,但這種方法得在.h文件中,類的定義下面通過#include包含”.tpp”文件,如下: //testTemplate

原创 C/C++語言中如何使用宏打印行號、文件名和函數名

C/C++語言中如何使用宏打印行號、文件名和函數名 #include<stdio.h> #define LOG (printf("%s (%d) - <%s>\n",__FILE__,__LINE__,__FUNCTION__),pri

原创 常見排序算法

常見排序算法及其複雜度、穩定性 以下爲常見排序算法的實現代碼,僅供參考。 /**************************************************************** * 程序說明:排序算法 *

原创 堆 Heap

1,堆,是一種數據結構,可以視爲是一顆完全 n 叉樹,樹的每一層都是填滿的,最後一層可能除外(最後一層從一個結點的左子樹開始填)。 給定某個結點的下標i,其父節點Parent(i)、左兒子Left(i)和右兒子Right(i)的下標滿足以