所有的的抽象資料型別(adt)都要確定採用哪種方式獲取記憶體。
靜態陣列,動態分配陣列,動態分配的鏈式結構
堆疊:就像往乙個瓶裡面塞東西,想要拿出來,一般只能先拿上面的,後進的先出(lifo)
堆疊有三個操作:push,pop,top
push,將資料推入棧中,pop移除,top返回。
堆疊對於鍊錶來說實現比較 方便,單鏈表就行
首先定義乙個結構,結構中含有指向下乙個元素的指標,以及元素的值。
push:
new_node->value = value;
new_node->next = stack;
stack = new_node;
pop:
first_node = stack;
stack = first_node->next;
free( first_node );
top:
return stack->value;
佇列:先進先出(fifo),一根管子。
實現佇列需要兩個指標,乙個指向頭,乙個指向尾部。
樹:在二叉搜尋樹 中插入還是比較簡單的,因為其已經排好各個節點的大小。
前序遍歷:中左右
中序遍歷:左中右
後序遍歷:左右中
具體**實現,在之後的資料結構的學習過程中,再進行詳細的解說。
在二叉搜尋樹中,迭代要比使用遞迴要好一些。
本書的最後還講解了一些關於c和組合語言的一種溝通。
C和指標(學習之旅)
操作符有以下幾種 算數操作符 除了 是只適用於整型外 移位操作符 左移只能用0補充,右移可以只用0補充,還有可以符號位為1進1 符號位為0,進0有符號值的右移是不可移植的。位操作符 賦值操作法人 符合操作符 等 可以使 更易讀寫 單目操作符 指標 取址 等 關係操作符 等 邏輯操作符 條件操作符 c...
C語言奇妙之旅 指標陣列
乙個陣列的元素值為指標則是指標陣列。指標陣列是一組有序的指標的集合。一般形式 資料型別 陣列名 陣列長度 例如 程式功能 指標陣列 程式版本 v0.1.00 q是乙個指標陣列,三個元素分別指向二維陣列a的各行。然後用for迴圈輸出制定的陣列元素。指標陣列可以作為函式的參量使用,使用方式與普通陣列類似...
C語言奇妙之旅 指標函式
指標函式是指帶指標的函式,即本質是乙個函式,函式返回型別是某一型別的指標。例子 程式功能 指標函式 程式版本 v0.1.00 include int f int i,int j 定義了乙個指標函式 函式指標是指向函式的指標變數,即本質是乙個指標變數。例子 include void function ...