原创 八、通過中綴計算表達式轉換成後綴計算表達式

前言:中綴表達式符合人們的閱讀習慣;  如:5+3            後綴表達式符合計算機的運算習慣;如:53+ 現在通過棧對運算符號的入棧、出棧操作實現將中綴表達式轉化成後綴表達式 1、LinkList.h #ifnde

原创 四、創建一個可複用的循環鏈表

一、CircleList.h #ifndef _CIRCLELIST_H_ #define _CIRCLELIST_H_ typedef void CircleList; typedef struct _tag_CircleListNod

原创 十二、隊列的實現方法三(順序表的優化)

由於通過順序表代碼的複用實現隊列的過程中,進隊列要從隊列的最後一個元素進入,所以造成時間複雜度加大,現通過引進front、rear優化隊列實現方法 front:代表頭元素的下標 rear:代表隊尾下一個元素的下標 一、SeqQ

原创 關於函數調用涉及到的知識點的歸納

一、定義跟初始化的區別 聲明:可理解爲預先告訴編譯器實體的存在,但我們不知道它存在的位置。   char  a; 定義:可理解爲明確指示編譯器實體的意義,有確切的空間地址   char  a=5; 二、程序中的順序點 順序節點:指的程序語

原创 十一、實現隊列的方法二(單鏈表的複用)

通過對單鏈表代碼的複用,實現隊列 一、LinkList.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef void LinkList; typedef struct _tag_Li

原创 十、隊列的實現方法一(順序表的複用)

方法一、通過對順序表代碼的複用實現隊列 一、SeqList.h #ifndef _SEQLIST_H_ #define _SEQLIST_H_ typedef void SeqList; typedef void SeqListNod

原创 一、創建一個可複用的順序線性表

一、SeqList.h  #ifndef  _SEQLIST_H_ #define  _SEQLIST_H_ typedef    void  Se

原创 C語言數組類型以及函數類型的定義

第一種:定義數組類型:                 格式:typedef   type  (name)[size];                 例:  typedef  int(AINT5)[5];              

原创 六、棧的實現兩種方式

前言:棧的特點:先進先出,只在棧頂進行操作。棧低密封,不進行操作,棧的實現有兩種方式,通過對線性表實現進行復用。安全性高。 實現棧的方式:                          第一種:以順序結構的方式實現:將順序表的隊尾作爲

原创 五、創建一個可複用的雙向鏈表

一、DLinkList.h #ifndef _DLINKLIST_H_ #define _DLINKLIST_H_ typedef void DLinkList; typedef struct _tag_DLinkListNode DL

原创 動態內存分配(malloc、free、calloc、realloc)

1. void*   malloc(size_t size);     //size_t   size表示的是內存的總大小 a、malloc所分配的是一塊連續的內存,以字節爲單位,並且不帶任何信息 b、malloc實際分配的內存可能比請求

原创 二、創建一個可複用的單鏈表

一、LinkList.h #ifndef  _LINKLIST_H_ #define  _LINKLIST_H_ typedef    void  

原创 程序代碼在運行前與運行時的內存分佈情況

大家是不是很疑惑,我們平時寫的代碼,內存中是如何去存儲的?分兩種情況,程序運行前,與運行時的程序內存分配情況。 知識補充:文件佈局在內存中的映射 從上到下依次遞減,最上面爲高地址: 棧 堆 .bss .data .rodata .te

原创 三、創建一個可複用的靜態單鏈表

一、StaticList.h #ifndef _STATICLIST_H_ #define _STATICLIST_H_ typedef void StaticList; typedef void StaticListNode; Sta

原创 幾個比較難理解的JAVA關鍵字總結

1.   abstract(抽象) 用法:類修飾符的一種,可以用來修飾類,方法,被修飾的類不能夠實例化(即不能用new關鍵字得到對象),被修飾的方法不能夠實現。一個抽象類中不一定要有抽象方法,但是一個類裏面有抽象方法就一定是抽象類。如果