堆疊這種資料最鮮明的特點是:後進先出。
用動態陣列實現堆疊:
#include "c17.h
"#include
#include
#include
#include
static stack_type *stack;
//static size_t stack_size
static
intstack_size;
static
int top_element = -1
;void create_stack(int
size)
void destroy_stack(void
)void
push (stack_type value)
void pop(void
)stack_type top(
void
)int is_empty(void
)int is_full(void
)int main(void
)
for(i= 0;i<5;i++)
}
鏈式堆疊:
#include "c17.h
"#include
#include
#include
#include
#define false 0typedef
struct
stack_node
stacknode;
static stacknode *stack;
//static int stack_size;
//static int top_element = -1;
void create_stack(int
size)
void destroy_stack(void
)void
push (stack_type value)
void pop(void
)stack_type top(
void
)int is_empty(void
)int is_full(void
)int main(void
)
for(i= 0;i<5;i++)
}
佇列:是一種先進先出的結構。需要兩個指標:乙個指向隊頭,乙個指向隊尾。
樹:
屬性:每個節點的值比它的左子樹的所有節點的值都要大,但比它的右子樹的所有節點的值都要小。
樹的遍歷:前序、中序、後序、層次遍歷。
前序遍歷:檢查節點的值->遞迴遍歷左子樹和右子樹。
中序遍歷:遍歷左子樹->檢查當前節點的值->遍歷右子樹。。
後序遍歷:遍歷左右子樹->檢查當前節點的值。
層次遍歷:逐層檢查樹的節點。處理根節點->處理它的孩子->處理它的孫子。
C的指標疑惑 C和指標13 高階指標話題 上
int f f為乙個函式,返回值型別是乙個指向整形的指標。int f 兩對括號,第二對括號是函式呼叫操作符,但第一對括號只起到聚組的作用。f為乙個函式指標,它所指向的函式返回乙個整型值。int f f是乙個函式指標,指向的函式返回值是乙個整形指標。int f 下標的優先順序更高,所以f是乙個陣列,元...
c指標 2個疑惑。
先註明,寫給自己看的。1.include include int main ptr printf d ptr return 0 剛剛看這樣的題目,感覺蠻簡單的。ptr定義指向了 m array的首位址,char型別1位元組。乙個int4個位元組 ptr 後,指標ptr的值加上1乘sizeof int...
C指標兩個疑惑
1.cpp view plain copy include include intmain ptr printf d ptr return 0 剛剛看這樣的題目,感覺蠻簡單的。ptr定義指向了 m array的首位址,char型別1位元組。乙個int4個位元組 ptr 後,指標ptr的值加上1乘si...