原创 設計包含min或max功能的棧

問題:對Stack(棧)數據結構進行改進,加一個min()或max()功能,使之能在常數,即O(1),時間內給出棧中的最小值。可對push()和pop()函數進行修改,但要求其時間複雜度都只能是O(1)。 以下只對如何求min進行闡述,m

原创 printf函數輸出

在筆試的時候,問了這樣一道選擇題: int main() { int x=1; int y=2; int z=3; printf("%d,%d\n",x,y,z); return 0; } 有這樣幾個選項: A. 1,2,3

原创 兩個棧實現隊列+兩個隊列實現棧----C++

1. 兩個棧實現隊列 思路: 我們先想象下隊列有哪些功能?進隊列(push)、出隊列(pop)、隊首元素(front)、隊尾元素(back)。 這裏使用了兩個棧stack1和stack2。進隊列(push),直接進stack1。出隊列(p

原创 二叉搜索樹(二叉排序數)的基本操作實現

本文實現了二叉搜索樹的插入、查找、刪除、求最大節點、最小節點以及直接前驅、直接後繼節點的基本操作。 先定義一個結構體: struct Node { int key; Node *left; Node *right; Node *

原创 32位64位操作系統基本數據類型字節大小

int型字長問題: ① C/C++規定int字長和機器字長相同; ② 操作系統字長和機器字長未必一致; ③ 編譯器根據操作系統字長來定義int字長;   由上面三點可知,在一些沒有操作系統的嵌入式計算機系統上,int的長度與處理

原创 尋找數組中的最大值和最小值

對於一個有N個整數組成的數組,我們如何才能較快的找出其最大值和最小值? 解法一:如果給定一組數組,我們要求出其最大值,最直接的方法就是遍歷一遍數組,找出其最大值此時時間複雜度爲O(n)。同樣我們要求出最大和最小值,也是遍歷一遍數組。然而,

原创 2013 年度最新的 20 大熱門開源軟件

轉載連接: http://www.oschina.net/news/47468/2013-top-20-newest-opensource-projects 1. ECharts ECharts 開源來自百度商業前端數據可視化團隊,基於

原创 K SUM問題

給定一個數組,找出兩個或者幾個數的加和爲一個定值的問題,在筆試面試中也是經常考的,本文參考了其他博文結合了leetcode題目給出講解。 1. Two Sum 題目:Given an array of integers, find t

原创 Struct和Class的區別

轉載來源:http://blog.csdn.net/yuliu0552/article/details/6717915 C++中的struct對C中的struct進行了擴充,它已經不再只是一個包含不同數據類型的數據結構了,它已經獲取了

原创 C++中重載(overload)、重寫(override,也叫做“覆蓋”)和重定義(redefine)的區別?

1)重載(overload): 指函數名相同,但是它的參數表列個數或順序,類型不同。但是不能靠返回類型來判斷。    a 相同的範圍(在同一個類中)    b 函數名字相同、 參數不同    c virtual關鍵字可有可無    d 返

原创 排序算法之堆排序

基本思想: 基本思想主要就是兩點:構建初始化堆和排序。 以構建最大堆爲例,可以分爲以下幾個步驟: 1、將初始待排序序列(A0,A1,A2....An-1)構建成最大堆,此堆爲初始的無序堆。 2、將堆頂元素A0與最後一個元素Rn-1交換,此

原创 單鏈表的基本操作(一)

單鏈表在插入、刪除時較爲方便,平時做題或者面試也會遇到很多,下面對單鏈表的操作做一些介紹。 本文參考了一些blog,不過只記得下面這個啦: http://blog.csdn.net/puqutogether/article/details

原创 排序算法之簡單選擇排序

基本思想: 將初始序列(A[0]~A[n-1])作爲待排序序列,第一趟在待排序序列(A[0]~A[n-1])中找最小值元素,與該序列中第一個元素A[0]交換,這樣子序列(A[0])有序;下一趟排序在待排序子序列(A[1]~A[n-1])中

原创 排序算法之冒泡排序

基本思想: 冒泡排序是通過交換兩個元素實現的,其思想是: 第一趟將待排序序列(A[0]~A[n-1])從前往後,兩兩相鄰元素進行比較,若後者小,則交換,比較n-1次; 第一趟結束後,最大元素被交換到A[n-1]處(即沉底),下一趟排序只需

原创 C程序編譯過程淺析

轉自:http://blog.csdn.net/koudaidai/article/details/8092647 以GCC編譯hellworld爲例,簡單總結如下。 hello.c源代碼如下: <span style="color:#