原创 進程間通信(上)

   進程間通信的方式:命名管道和匿名管道、消息隊列、信號量、共享內存等這幾種方式,下面我們對其進行一一解讀。     linux下進程間通信的幾種主要手段簡介:  1、管道(Pipe)及有名管道(named pipe):管道可用於具有親

原创 C++中傳值、傳址與傳引用的區別

1、參數傳遞的概念  所謂參數傳遞就是用函數調用所給出的實參(實際參數)向函數定義所給出的形參(形式參數)設置初始值的過程。 在c++中,調用函數時有三種參數傳遞方式,分別爲: (1)傳值調用; (2)傳址調用(即是傳指針); (3)傳引

原创 關於C++中的繼承

    繼承性是面向對象程序設計的最重要的特性,可以這麼說,如果沒有掌握繼承性,就等於沒有掌握類和對象的精華,所以很好的掌握繼承性是我們學好C++的基礎,下面我們對它進行一一介紹。    繼承是面向對象複用的重要手段。通過繼承定義一個類

原创 單鏈表的相關面試題

一、比較順序表與鏈表的優缺點: 單鏈表:它是一種鏈式存儲的線性表,用一組地址任意的存儲單元存放線性的的數據元素,稱存儲單元爲一個節點。 順序表:採用順序存儲結構的線性表通常稱爲順序表。 線性表的順序存儲結構:指用一組地址連續的存儲單元依

原创 單鏈表常見面試題

一、比較順序表與鏈表的優缺點:單鏈表:它是一種鏈式存儲的線性表,用一組地址任意的存儲單元存放線性的的數據元素,稱存儲單元爲一個節點。順序表:採用順序存儲結構的線性表通常稱爲順序表。線性表的順序存儲結構:指用一組地址連續的存儲單元依次存儲線

原创 assert與if的區別

                                                                                                           assert還是if

原创 動態內存管理

C語言動態內存管理C語言使用malloc/calloc/realloc/free進行動態內存管理。void Test (){     int* p1 = (int*) malloc (sizeof (int)*4);     free(p

原创 博客搬家

將博客搬家到CSDN 點贊 1 收藏 分享

原创 搜索二叉樹的增刪查改

    首先我簡單介紹一下搜索二叉樹的概念及有關性質,純屬個人觀點,如有錯誤,歡迎不吝賜教。 1、搜索二叉樹的概念:根結點的左子樹都小於它,它的右子樹都大於它,且它的左子樹與右子樹都是搜素二叉樹。 2、二叉搜索樹(搜索二叉樹):搜索二叉樹

原创 時間複雜度和空間複雜度

1、時間複雜度       所謂時間複雜度實際上就是函數,既是函數計算執行的基本操作次數。ps:這裏的函數是指數學裏面的函數,而不是C語法裏的函數。       如下面這個代碼: void Test1 ( int N ) {       

原创 面試常考題:不調用庫函數,怎樣實現字符串操作函數?

一:字符串操作函數的功能及應用 1、strcpy()函數       Strcpy(字符數組1,字符數組2)此函數是字符串拷貝函數,它的作用是將字符串2複製到字符數組1中去。 #include<stdio.h> #include<stdl

原创 C++的特性——繼承

 繼承性是面向對象程序設計的最重要的特性,可以這麼說,如果沒有掌握繼承性,就等於沒有掌握類和對象的精華,所以很好的掌握繼承性是我們學好C++的基礎,下面我們對它進行一一介紹。   繼承是面向對象複用的重要手段。通過繼承定義一個類,它們的類

原创 C++關於模板

   假設現在要實現一個比較兩個數是否相等的重載函數。1、兩個int類型的操作數比較bool IsEqual (int left, int right){     return left == right;}2、兩個string類型的操作

原创 Linux中的task_struct結構體

        我們都知道,在廣義上,所有的進程信息都被放在一個叫做進程控制塊的數據結構中,這個可以理解爲進程屬性的集合。這裏的進程控制塊也就是所謂的PCB,他是一個非常大的數據結構,那麼它到底有多大呢?如果沒什麼意外,這個結構體可能是這

原创 用兩個棧實現一個隊列

                         用兩個棧實現一個隊列 1、線性表分爲:順序表和鏈表。 棧:只允許在尾上(即是棧頂)進行插入與刪除。 隊列:它是在隊尾插入,隊頭刪除。 2、棧選數組(即順序表)結構時(比選鏈表結構更好):因