線性棧操作

2021-06-14 13:32:53 字數 859 閱讀 1923

棧是一種非常重要的資料結構,本文介紹了一些簡單的棧的操作。

#include typedef struct stack_node stack_t;

/*初始化stack*/

stack_t *init_stack(int index)

stack->pdata = (int *)malloc(sizeof (int) * index);

if (stack->pdata == null)

}stack->length = index;

stack->top = 0;

return stack;

}/*刪除stack*/

void destory_stack(stack_t *stack)

/*判斷stack為空*/

int is_stack_empty(stack_t *stack)

/*判斷stack為滿*/

int is_stack_full(stack_t *stack)

/*入stack*/

int push_data_to_stack(stack_t *stack, int data)

/*出stack*/

int pop_data_from_stack(stack_t *stack, int *data)

void print_stack_data(stack_t *stack)

}/*測試用例*/

int main(int argc, char *argv)

print_stack_data(stack);

for (i=0;i<10;i++)

return 0;

}

線性棧的基礎操作

環境 dev c tdm gcc 4.9.2 64 bit profiling 輸出大小 1.85850429534912 mib 線性棧操作 包括線性棧的類定義 使用模板 棧的構造與析構 棧的壓棧與彈棧 訪問棧頂元素 判斷棧空與棧滿 棧的清空 template class t class asta...

C語言棧的線性儲存結構操作實現

開發環境codeblock xxwu include include include define stack init size 100 define stack increasement 10 typedef int elemtype typedef struct stack sqstack 列...

線性結構 共享棧

如果乙個程式需要使用多個棧,使用順序棧就會造成棧空間大小難以估計,從而造成有的棧溢位有的棧空閒,此時可以建立乙個共享棧,通俗地講就是將兩個棧的棧底設定在同乙個陣列的兩端,棧頂位置用top1 top2表示。如圖 所以共享棧的資料結構型別為 include define max 10 define in...