資料結構 棧的介面的實現(用c語言實現)

2021-08-29 00:17:55 字數 1137 閱讀 8841

棧的實現一般可以使用陣列或者鍊錶實現,相對而言陣列的結構實現更優一些。因為陣列在尾上插入資料的代價比較小。定長的靜態棧結構,一般不實用,所以下面給出的是支援動態增長的棧:

具體實現**如下:

#pragma once

#include #include #include #include typedef int stdatatype;

typedef struct stack

stack;

void stackinit(stack* ps, int n);

void stackdestroy(stack* ps);

void stackpush(stack* ps, stdatatype x);//在棧頂入資料

void stackpop(stack* ps);//在棧頂出資料

stdatatype stacktop(stack* ps);//取出棧頂的資料

int stacksize(stack* ps);//返回資料個數

int stackempty(stack* ps);//如果是空 返回0;非空返回1

void stacktest();

#include "stack.h"

void stackinit(stack* ps, int n)

void stackdestroy(stack* ps)

void stackpush(stack* ps, stdatatype x)//在棧頂入資料

ps->_a[ps->_top] = x;

ps->_top++;

}void stackpop(stack* ps)//在棧頂出資料

}stdatatype stacktop(stack* ps)//取出棧頂的資料

int stacksize(stack* ps)//返回資料個數

int stackempty(stack* ps)

else

//return ps->_top == 0 ? 0 : 1;

}

#include "stack.h"

void stacktest()

}int main()

資料結構 棧的實現(C語言)

棧的實現 棧的結構可以是基於陣列的。它擁有兩個基本操作 出棧和入棧。而實現操作需要乙個 top 表示頂點。很簡單 上 include define maxsize 20 typedef int elemtype typedef int status typedef struct sqstack st...

資料結構 C語言棧的實現

首先,我們要先回顧乙個知識,對於後面棧的學習會好理解點,如果我們在main 函式中定義了乙個變數 int a 需要在乙個自定義的函式中改變其值,要怎麼操作?include stdio.h include stdlib.h intmain intadd int a 我會首先想到這種方法,將改變後的值r...

C語言資料結構 棧實現迷宮

include define max 30 typedef struct box typedef struct stack int map 10 10 int search int beginx,int beginy,int endx,int endy else return 1 find 0 wh...