順序棧和鏈式棧

2021-10-03 19:20:36 字數 866 閱讀 5740

相信大家對棧都不陌生,棧作為一種基礎的資料結構,在很多地方都會用到,在這裡整理一下順序棧和鏈式棧的一些基礎操作。

#pragma onc

# define max_size 10

class seqstack

~seqstack()

//判斷棧滿

bool full()

//判斷棧空

bool empty()

//入棧

void push(int value) }

//出戰

int pop() }

//得到棧頂元素

int gettopele() }

private:

int top;

int size;

int* arr;

};

#pragma once

# define value_type int

typedef struct node

;class linkstack

~linkstack()

}} //判斷棧是否為空

bool empty()

//入棧操作

bool push(value_type value)

else

++length;

return true;

} //出棧操作

value_type pop() }

//獲取棧頂元素

value_type gettopele() }

private:

node* top;

int length;

};

順序棧和鏈式棧

順序棧 採用順序儲存結構的棧 push pop peek 方法的時間複雜度為o 1 當需要擴充棧容量時push 方法的時間複雜度為o n package com.lzw.demo.stacktest public inte ce sstack package com.lzw.demo.stackte...

棧 棧 鏈式棧,順序棧,共享棧

棧也是一種線性表結構,只不過棧的操作是受限的,它的特點就是在棧頂方向新增新的元素,且刪除元素也只能從棧頂方向刪除。因此棧是一種lifo 後進先出 特性的資料結構。壓棧 新的元素放入棧的操作。出棧 從棧中移除乙個元素的操作。因為棧是一種線性結構,所以可以通過前面所學的鍊錶和順序表作為內部實現。我們可以...

順序棧與鏈式棧

棧 邏輯結構 限制為只有乙個埠進出元素,就導致先進後出和特性。順序棧 容量在限 鏈式棧 可以無限容量 一般常用於,表示式解析,記憶體管理 函式的呼叫提供支援 順序棧 include include include define type int typedef struct stack stack ...