程式設計實現一個棧結構,用陣列來實現,具有入棧、出棧操作。
阿新 • • 發佈:2018-12-23
#include <stdio.h> #include <stdlib.h>
typedef struct stack { int point;
signed char mem[1024];
}STACK;
STACK g_statck ={0}; //定義一個全域性的棧,棧指標和棧空間初始化為0; void pushStack(void*p, int n) //將一個void型別的指標指向的資料加入棧;n為資料大小 {
if(g_statck.point+n >=1024)//如果資料加入棧之後超過1024;則提示棧溢位; {
printf("the stack is overflow!/n
return;
}
int i;
signed char*temp = p;
for(i =0;i <n;i++) //將資料按照位元組方式壓入棧中; {
g_statck.mem[g_statck.point] =*temp;
g_statck.point++;
temp++;
}
}
void popStack(int n)
{
if(g_statck.point -n <0) //如果棧中的元素不夠;則提示出棧失敗; {
printf("error pop stack!/n");
}
g_statck.point = g_statck.point
int main(int argc,char** argv)
{
system("PAUSE");
return0;
}