当前位置: 首页 > news >正文

广州越秀区美食攻略山西免费网站关键词优化排名

广州越秀区美食攻略,山西免费网站关键词优化排名,公司网站设计注意事项,p2p网站制作价格1. 顺序栈 主要操作&#xff1a;初始化、栈判空、入栈、出栈、去栈顶元素 1.1 直接数组存储栈 //顺序栈的实现 #include<stdio.h> #define MaxSize 50 typedef int ElemType; typedef struct{ElemType data[MaxSize];int top; //指向栈顶指针&#xff0c;最开始-1 …

1. 顺序栈

主要操作:初始化、栈判空、入栈、出栈、去栈顶元素

1.1 直接数组存储栈

//顺序栈的实现 
#include<stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct{ElemType data[MaxSize];int top;  //指向栈顶指针,最开始-1 
}SqStack;//1.初始化
void InitStack(SqStack &S){S.top=-1;
}//2.判栈空
bool StackEmpty(SqStack S){return S.top==-1;
} //3.进栈
bool Push(SqStack &S,ElemType x){if(S.top==MaxSize-1)  //栈已满 return false;S.data[++S.top]=x; return true;
} //4. 出栈
bool Pop(SqStack &S,ElemType &x){if(S.top==-1)  //栈空不能取出元素 return false;x=S.data[S.top--];   return true; 
} //5.读栈顶元素
bool getTop(SqStack S,ElemType &x){if(S.top==-1)return false;x=S.data[S.top];return true;
} 

1.2 *top和*base指针指向栈顶和栈底位置

#include<stdio.h>
#include<stdlib.h>#define OK 1
#define OVERFLOW -2
#define ERROR 0
#define MAXSIZE 100typedef int ElemType;
typedef int Status;typedef struct{ElemType *base,*top;  //栈底指针、栈顶指针int stacksize;   //栈可用的最大容量 
}SqStack;//1.初始化
Status InitStack(SqStack &S){S.base=(ElemType*)malloc(sizeof(ElemType)*MAXSIZE);
//	S.base=new ElemType[MAXSIZE];if(!S.base)  //分配内存失败 return OVERFLOW;S.top=S.base;  //初始化的时候栈顶和栈底指针均指向第一个元素S.stacksize=MAXSIZE;return OK; 
} //2.入栈
Status Push(SqStack &S,ElemType e){if(S.top-S.base==S.stacksize)  //栈满 return ERROR;*S.top++=e;  //先赋值后自增return OK; 
}//3.出栈
Status Pop(SqStack &S,ElemType &e){if(S.base==S.top)  //栈空 return ERROR;e=*--S.top; return OK;
} //4. 取栈顶元素
Status GetTop(SqStack S,ElemType &e){if(S.base==S.top)  //栈空 return ERROR;e=*(S.top-1); return OK;
} 

2. 链栈(不带头节点,以链头做为栈顶)

主要操作:初始化、栈判空、入栈、出栈、去栈顶元素、销毁栈

//栈的链式存储结构(不带头节点,以链头为栈顶) 
#include<stdio.h>
#include<stdlib.h> 
typedef int ElemType;
typedef struct StackNode{ElemType data;struct StackNode *next;
}StackNode ,*LinkStack;//1.初始化
bool InitStack(LinkStack &S){S=NULL;return true;
}//2.判栈空
bool StackEmpty(LinkStack S){return S==NULL;
} //3.进栈
bool Push(LinkStack &S,ElemType x){LinkStack p=(StackNode*)malloc(sizeof(StackNode));p->data=x;p->next=S;S=p;return true;
} //4. 出栈
bool Pop(LinkStack &S,ElemType &x){if(S==NULL)return false;x=S->data;LinkStack p=S;S=S->next;free(p);  //释放空间 return true;
} //5.读栈顶元素
bool getTop(LinkStack S,ElemType &x){if(S==NULL)   //栈为空 return false;	x=S->data;return true; 
}//6.销毁队列
void DestroyStack(LinkStack &S){while(S!=NULL){LinkStack p=S;S=S->next;free(p); p=NULL;}
} 

http://www.tj-hxxt.cn/news/66244.html

相关文章:

  • 网站上传不了营销助手
  • 重庆网站建设运营快速排名服务平台
  • 荆州公司做网站搜狗seo快速排名公司
  • 用织梦怎么仿别人网站的js flash大数据营销精准营销
  • 厦门市网站建设公司天津放心站内优化seo
  • 公司网站设计素材seopeixun com cn
  • 做旅游业务的商业网站海外seo网站推广
  • 低价网站建设近期国内新闻摘抄
  • 烟台优化网站建设网站怎么优化推广
  • 网站怎么做咨询灰色词首页排名接单
  • 陕西安康网站建设广州排前三的seo公司
  • 给公司做兼职维护网站多少钱双11销售数据
  • 网站制作多少费用沈阳关键词快照优化
  • 360网站seo优化怎么做怎么找拉新推广平台
  • 手机字体下载大全免费网站自己如何做网站
  • 免费商城版网站南阳seo优化
  • 柳州做网站有kv无线网络优化是做什么的
  • 优化网站多少钱襄阳seo
  • 常州做的网站的公司网站网推什么意思
  • 北京住房和城乡建设委员会门户网站网络营销的类型
  • 如何用群晖nas做网站北京建站工作室
  • 威海制作网站b2b平台都有哪些网站
  • 为什么网站数量减少微信朋友圈广告投放价格表
  • 有flash的网站南通做网站推广的公司
  • 深圳网站建设公司哪家好百度网盟
  • 深圳福田网站制作网络推广整合平台
  • 房屋中介网站怎么做百度账号管理
  • vueseo解决方案北京百度seo排名点击器
  • 途牛网站建设策划书太原seo推广
  • 网站已改版怎么把自己的产品推广出去