筆記 資料結構單鏈表 棧 佇列的C 宣告

2021-10-03 08:44:19 字數 1127 閱讀 4124

typedef

struct linklist

linklist;

//鏈棧和這個宣告一模一樣,改個名字就行了

linklist *l1;

//單鏈表的實現

只有鏈式結構在宣告裡面會有指標符號,其他宣告都不會有的,但是在實現該結構時,都會用指標來表示。

#define maxsize  100

template

<

typename t>

typedef

struct stack

stack;

stack *s1;

//棧的實現

(1)結構體中宣告的stacks就是個陣列,陣列中資料型別為 t !!

(2)讀取棧頂元素用s1->stack[s1->top]表示!!

(3)在順序棧結構中因為只有最頂上的元素可以操作,可以認為在讀取時是乙個陣列的最後一位[top]位。s1->top表示表示棧的陣列最後一位的下標,範圍[ 0,maxsize ]

#define maxsize  100

typedef

struct queue

;queue *q1;

//佇列的實現

佇列可以視為乙個大陣列,front和rear說是頭指標和尾指標,其實就是這個陣列的下標,即在佇列中的所排位次,q1->rear == maxsize為滿;q1->front == maxsize為空。

例項化這個佇列時,要用指標型別的物件,之後在對該指標變數操作時,均用->符號來指向該結構體內的成員front,rear,queue[i]。不能用.這個符號!結構體必須用指標變數例項化!必須用箭頭操作!

typedef

struct lnode

lnode;

typedef

struct linkqueue

lqueue;

這是單鏈表和佇列的結合,需要單鏈表的指標域+資料域,以及佇列的頭指標+尾指標。。

面試筆記 資料結構 單鏈表

可以通過下面的 定義乙個單鏈表 typedef struct node lnode,linklist 這裡使用typedef將結構體struct node定義為lnode型別,表示鍊錶中每個結點的型別為lnode,它等價於結構體型別struct node。另外,linklist是指向lnode型別的...

筆記 資料結構 佇列

特性 先進先出,不可根據索引查詢 介面inte ce iqueueds 屬性,佇列中的個數 int getlength 方法,佇列中的個數 bool isempty 佇列是否為空 void clear 清空佇列 void enqueue t item 入隊 t dequeue 出隊 t peek 觀...

筆記 資料結構 棧

特性 先進後出,不可訪問索引,只能逐漸推入推出 介面inte ce istackds 得到棧中資料個數,屬性 int getlength 同上,方法型別的 bool isempty 檢驗是否為空 void clear 清空 void push t item 推入資料 t pop 獲得棧頂資料並刪去 ...