原创 C/C++面試常見的幾個庫函數詳解(strcpy,memcpy,memset,atoi...)

轉載http://blog.csdn.net/jiange_zh 在面試中,常常會被問到幾個庫函數的實現,雖然代碼很短,涉及的細節卻特別多,因此特別受面試官青睞,所以要把他們熟記於心,方能應對自如。 strcpy() 原型聲明:

原创 +操作符重載具體定義

操作符重載的實現方式有兩種,即通過“友元函數”或者“類成員函數”。 (friend)返回類型 operator 操作符(形參表) 利用友元函數重載二元操作符”-“時,形式參數是兩個,而利用類成員函數時,形式參數卻只有一個。這時因爲類成員

原创 【每日算法】插入排序&選擇排序&冒泡排序

//插入排序思路:摸牌過程 ,插入排序是穩定的,時間複雜度爲 O(n^2)void insertsort(int arr[], int length) { if (arr = NULL || length <= 0) return;

原创 【每日算法】堆排序

1、堆:堆數據結構是一種數組對象。 對於表示堆的數組arr[0…n-1],我們以arr[0]爲根,給定某個節點下標i,令其父節點和左右後代節點的下標

原创 【刷題劍指offer】字符串的排列

題目:輸入一個字符串,打印出該字符中字符的所有排列。例如輸入字符串abc,則打印出由字符a\b\c所能排列出來的所有字符串abc\acb\bac\bca\cab\cba 思路:遞歸實現。分爲兩步:1、首先求出所有可能出現在第一個位置的字符

原创 【設計模式】6大原則

本系列博客主要參考《大話設計模式》和《設計模式:可複用面向對象軟件的基礎》兩本書,也參考了其他博友的博客,如果理解有偏差希望大家指出。 1、單一職責原則(SRP) 就一個類而言,應該僅有一個引起它變化的原因 例如:如果遊戲邏輯與界面寫在一

原创 【刷題劍指offer】把數組排成最小的數

題目:輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這3個數字能排成的最小數字321323. 思路:1、全排列後排序取出最小,複雜度太高了 2、利用S

原创 【設計模式】代理模式

1、理解:爲其他對象提供一種代理以控制對這個對象的訪問。有四種常用的情況: (1)遠程代理:爲一個對象在不同的地址空間提供局部代表,從而隱藏了一個對象存在於不同地址空間的事實。 (2)虛代理:根據需要創建一個資源消耗較大的對象,使得此對象

原创 【每日算法】二分查找算法

代碼: //遞歸版本 int binarysearch(int arr[], int left, int right, int x) { if (NULL != arr&&left <= right) { int mid;

原创 【每日算法】快速排序

思路:分治算法思路(分解,解決partition,合併),最差時間複雜度爲O(n^2),平均時間複雜度爲O(n logn),不穩定 void quicksort(int arr[], int length, int l, int r) {

原创 【每日算法】歸併排序

思路: 1、分解:將n個元素分成各含n/2個元素的子序列;  2、解決:用歸併排序法對兩個子序列遞歸地排序;  3、合併:合併兩個已排序的子序列以得到排序結果。 歸併排序的時間複雜度爲O(n logn),空間複雜度爲O(n)。歸併排序是

原创 【刷題劍指offer】兩個鏈表的第一個公共節點

思路:先統計出兩個鏈表的長度M和N,然後讓長鏈表先走M-N步,然後一起走,每步都比較兩個鏈表的節點是否相同,如果相同那麼跳出循環,返回第一個公共節點 代碼: struct ListNode{ int val; ListNode* ne

原创 【設計模式】適配器模式

下面內容轉載 http://blog.csdn.net/wuzhekai1985           適配器模式將一個類的接口轉換成客戶希望的另外一個接口,使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。它包括類適配器和對象適

原创 【設計模式】策略模式

1、理解:依賴c++的多態,抽象類的指針可以訪問所有子類對象,(純虛函數),可以用一個指針訪問所有策略的實現類。 2、下面內容轉載 http://blog.csdn.net/wuzhekai1985 下面以高速緩存(Cache)的替換

原创 【刷題】從1到n整數中1出現的次數

題目:輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1的數字有1,10,11,12共5個。 思路:1、從1到n逐個數字計算1出現的次數。直觀但不高效 2、考慮將n的十進制的每一位單獨