原创 二叉樹的遍歷非遞歸算法

  1、先序遍歷的非遞歸實現 Staus PreOrderTraverse(BiTree T, (* Visit)(TElemType e)) { InitStack(S); p = T; while(p || !StackEmpty

原创 內存拷貝函數

轉帖自周立功博客http://blog.sina.com.cn/s/blog_5e8facd20100eorv.html    編者按:我們知道,優秀的運動員除了自身的天賦和努力之外,出色的教練必不可少。一個成功的企業除了擁有出類拔萃的員

原创 inittab文件詮釋

轉自:http://hi.baidu.com/52hack/blog/item/50242d2daf9f813c359bf75f.html 欲說inittab,還得從init說起,init是所有進程的父進程,他的一個主要的角色就是從/et

原创 Epoll模型

http://www.cppblog.com/Khan/archive/2008/04/02/46013.html Linux 2.6內核中提高網絡I/O性能的新方法-epoll I/O多路複用技術在比較多的TCP網絡服務器中有使用,即比

原创 sizeof與#pragma預編譯指令

#pragma pack(push) //保存 #pragma pack(n)//n 可取1,2,4,8 #pragma pack(pop) (g++中, #pragma pack(push)與#pragma pack(n)應合併爲#pr

原创 宏定義中的 "#" 和 "##" 的區別

  轉自 http://blog.sina.com.cn/s/blog_5623cddb0100bdi3.html "#" 代表和一個字符串相連接 "##" 代表和一個符號連接,符號可以是變量,或另一個宏符號。 舉例如下: 宏定義如下

原创 C/C++位域(Bit-fields)

轉載: 很早想說說這個問題了,經常也會有很多公司拿位域出來考人,呵呵要真的想弄清楚還要一點點的分析。 這裏先看看網宿的一道筆試題目,這道題目我之前是複製網上的,結果不對,修改了一下,可以正確運行了,謝謝(imafish_i )提醒: /

原创 Linux內核 hlist_head/hlist_node結構解析

內核中的定義: struct hlist_head {     struct hlist_node *first; }; struct hlist_node {     struct hlist_node *next, **pprev;

原创 深信服的筆試題

  軟件工程師題: NO1、平衡二叉樹和哈希表哈希表主要可以在O(1)時間內對查找對象定位,但是事實上,如果輸入集合不確定的情況下,可能出現大量的衝突,雖然有很多好的哈希函 數,但是隨着隨機輸入,大量衝突還是不可避免,可能出現最差情況

原创 Jsp/servlet/cgi的區別

1.jsp經編譯後就變成了Servlet.(JSP的本質就是Servlet,JVM只能識別java的類,不能識別JSP的代碼,Web容器將JSP的代碼編譯成JVM能夠識別的java類)2.jsp更擅長表現於頁面顯示,servlet更擅長於

原创 程序員面試題精選100題(33)-在O(1)時間刪除鏈表結點[數據結構]

題目:給定鏈表的頭指針和一個結點指針,在O(1)時間刪除該結點。鏈表結點的定義如下: struct ListNode {       int        m_nKey;       ListNode*  m_pNext; }; 函數的聲

原创 用C語言實現面向對象的開發

C語言的對象化模型 面向對象的特徵主要包括: .封裝,隱藏內部實現 .繼承,複用現有代碼 .多態,改寫對象行爲 採用C語言實現的關鍵是如何運用C語言本身的特性來實現上述面向對象的特徵。1.1 封裝 封裝是一種信息隱蔽技術,它體現於類的說明

原创 關鍵字restrict

簡介  restrict是c99標準引入的,它只可以用於限定和約束指針,並表明指針是訪問一個數據對象的唯一且初始的方式.即它告訴編譯器,所有修改該指針所指向內存中內容的操作都必須通過該指針來修改,而不能通過其它途徑(其它變量或指針)來修改

原创 python中文輸出問題

今天準備將某SQLite數據庫的內容導出到文本文檔(*.txt)中,設計的Python程序如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # -*- coding: UT

原创 程序員面試題精選100題(34)-數組中只出現一次的數字[算法]

題目:一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)。 分析:這是一道很新穎的關於位運算的面試題。 首先我們考慮這個問題的一個簡單版本:一個數組裏