包括三個文件:stack.h,stack.cpp,main.cpp
我們提供的服務有:成都網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、凌云ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的凌云網(wǎng)站制作公司
stack.h
#include "stdio.h" #include#include #include #define Status int #define SElemType int #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OVERFLOW 0 #define ERROR 0 #define OK 1 // typedef struct { SElemType *base; //指向棧尾 SElemType *top; //指向棧頂 int stacksize; //記錄棧元素個數(shù) }SqStack; // // //棧的基本操作 // //初始化棧 Status InitStack(SqStack &S); //返回1,表示成功;返回0表示不成功 //判棧滿 Status IsFull(SqStack &S); //判???Status IsEmpty(SqStack &S); //如空,返回1;非空返回0 //入棧 Status Push(SqStack &S,SElemType e); //出棧 Status Pop(SqStack &S,SElemType &e); //顯示棧元素 Status StackTraverse(SqStack &S); //訪問棧頂 Status GetTop(SqStack &S,SElemType &e); //求棧長度 int StackLength(SqStack &S); //清空棧 Status ClearStack(SqStack &S); //銷毀棧 Status DestroyStack(SqStack &S);
stack.cpp
#include "stack.h" #include "stdio.h" #include#include #include using namespace std; //棧的基本操作 // ////初始化棧 Status InitStack(SqStack &S) { //構(gòu)造一個空棧 S.base =(SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!S.base) return(OVERFLOW); S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } //判棧滿 Status IsFull(SqStack &S) { //若滿返回1,否則返回0 if((S.top-S.base)>= S.stacksize) //若棧滿 { //cout<<"棧滿"<
main.cpp#include#include "stack.h" using namespace std; int main() { /* SqStack sta; InitStack(sta); cout< >N; SqStack sta; InitStack(sta); while(N!=0) { Push(sta,N%2); //求余 N=N/2; //整除 } //StackTraverse(sta); cout<<"對應的二進制為:"<
網(wǎng)頁標題:數(shù)據(jù)結(jié)構(gòu)-stack的基本操作
網(wǎng)站網(wǎng)址:http://weahome.cn/article/ihhigi.html