資料結構與演算法(C語言版) 棧

2021-07-25 12:44:44 字數 1396 閱讀 2645

棧是一種常用的資料結構,棧常用在系統軟體和或者演算法中。

棧使用陣列來做順序棧,鏈式站用鍊錶來做。今天使用動態陣列來設計棧。

棧,後進先出(lifo),先進後出(filo)

push,進棧

pop,出棧

peek,看一下棧頂

我使用的是vs ultimate2013

新建乙個空專案,在標頭檔案裡面新增兩個標頭檔案mystack.h和myutil.h

在原始檔裡面新增main.cpp

//當棧的長度不夠時,自動擴大兩倍

#ifndef _myutil_h

#define _myutil_h

template

void changesize1d(t* &a, const

int oldsize, const

int newsize)

#endif

#ifndef _mystack_h

#define _mystack_h

#include "myutil.h"

//mystack類,

template

class mystack;

//出棧

template

void mystack::pop()

//判斷是否為空

template

inline

bool mystack::isempty() const

//輸出棧頂

template

inline t& mystack::top() const

//構造棧

template

mystack::mystack(int stackcapacity):capacity(stackcapacity)

//析構棧

template

mystack::~mystack()

//入棧

template

void mystack::push(const t& item)

stack[++top] = item;

}#endif

//用來測試

總結:棧是比較常用的資料結構,也是演算法中經常的考點。使用動態陣列來構造順序棧。

資料結構與演算法(C語言版) 鏈式棧

用鍊錶做的堆疊,鍊錶可以動態的建立一些節點,在插入和刪除節點方面要快很多。先進後出棧操作 push入棧 pop出棧 top返回棧頂資料 在vs2013新建專案,在標頭檔案中加入linkedstack.h在原始檔中加入main.cpp ifndef linkedstack h define linke...

資料結構(C語言版) 棧

1 棧 僅在表尾進行插入和刪除操作的線性表。後進先出lifo。1 表尾端 允許插入和刪除的一端 為棧頂,表頭端 不允許插入和刪除的一端 為棧底。2 入棧 插入元素的操作。出棧 刪除棧頂元素 2 棧的兩種儲存表示方式 2 鏈棧 棧的鏈式儲存結構 優點是便於多個棧共享儲存空間和提高效率。3 括號匹配檢驗...

C語言版資料結構演算法

c語言版資料結構演算法 c語言資料結構具體演算法 c語言資料結構演示軟體 演算法效率分析 線性表 棧和佇列 串 陣列和廣義表 樹和二叉樹 圖 查表 排序 動態儲存管理 上面兩個鏈結就是 資料結構 c語言版 嚴蔚敏教授嚴奶奶的書籍配套軟體 她的書看著很枯燥乏味,但真的非常嚴謹,嚴奶奶也很貼心的做了乙個...