棧與佇列 獲取棧頂 隊首資料(並出棧 隊)

2021-07-14 03:06:04 字數 1729 閱讀 2247

陣列棧

完成elemtype top(stack s)函式,該函式把返回棧頂資料(不出棧),已知棧非空。

完成elemtype topandpop(stack s)函式,該函式返回棧頂資料的同時把棧頂資料出棧,已知棧非空。

typedef

int elemtype;

struct stackrecord;

typedef

struct stackrecord *stack;

struct stackrecord

;elemtype top(stack s)

elemtype topandpop(stack s)

鏈棧

完成elemtype top(stack s)函式,該函式返回鏈棧s的棧頂資料,已知s是帶頭結點的鏈棧並且s非空。

完成elemtype topandpop(stack s)函式,該函式把返回鏈棧s棧頂資料並把棧頂資料出棧,已知s是帶頭結點的非空鏈棧。

typedef

int elemtype;

struct node;

typedef

struct node * ptrtonode;

typedef ptrtonode stack;

struct node

;elemtype top(stack s)

elemtype topandpop(stack s)

陣列佇列

完成elemtype front(queue q)函式,該函式返回非空佇列q的隊首資料(不出隊),其中q是基於陣列的非迴圈佇列。

完成elemtype frontanddequeue(queue q)函式,該函式返回非空佇列q的隊首資料並將隊首資料出隊,其中q是基於陣列的非迴圈佇列。

typedef

int elemtype;

struct queuerecord;

typedef

struct queuerecord * queue;

struct queuerecord

;elemtype front(queue q)

elemtype frontanddequeue(queue q)

鏈佇列

完成elemtype front(queue q)函式,該函式返回鍊錶的佇列q的隊首資料(但不出棧),其中q是不帶頭節點的非空鍊錶佇列。

完成elemtype frontanddequeue(queue q)函式,該函式返回非空佇列q的隊首資料並將隊首資料出隊,其中q是不帶頭節點的鍊錶佇列。

typedef

int elemtype;

struct node;

typedef

struct node node;

struct

queue;

typedef

struct

queue * queue;

struct node

;struct

queue

;elemtype front(queue q)

elemtype frontanddequeue(queue q)

棧與佇列 建立棧 佇列

陣列棧 完成stack createstack int maxelements 函式,該函式建立乙個棧,maxelements為與分配的棧空間大小 棧可用空間為array 0,maxelements 1 typedef int elemtype struct stackrecord typedef ...

鏈棧的入棧 出棧 獲取長度 獲取棧頂值等相關操作

建立lstack.h pragma once 鏈式棧 利用帶頭節點的單鏈表實現 棧頂為第乙個資料結點,因為 頭插o 1 頭刪 o 1 有尾指標的的尾插 o 1 有尾指標的尾刪o n typedef struct snode snode,plstack 注意 鏈式棧不需要top,因為頭結點的next即...

資料結構(二) 棧棧與佇列

棧 stack 是限制插入和刪除只能在乙個位置上進行的表,該位置是表的末端,叫做棧頂 top 它是後進先出 lifo 的。對棧的基本操作只有push 進棧 和pop 出棧 兩種,前者相當於插入,後者相當於刪除最後的元素。實現 利用乙個單鏈表來實現棧的資料結構。而且,因為我們都只針對棧頂元素進行操作,...