原创 八、通過中綴計算表達式轉換成後綴計算表達式
前言:中綴表達式符合人們的閱讀習慣; 如: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關鍵字得到對象),被修飾的方法不能夠實現。一個抽象類中不一定要有抽象方法,但是一個類裏面有抽象方法就一定是抽象類。如果