- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
栈的建立与基本操作的算法(C语言实现),rsa算法c语言实现,算法c语言实现,算法c语言实现pdf,pid算法的c语言实现,des算法c语言实现,fft算法c语言实现,des加密算法c语言实现,fft算法的c语言实现,aes算法c语言实现
栈的建立与基本操作的算法(C语言实现)
/* c3-1.h 栈的顺序存储表示 */ #define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */
#define STACKINCREMENT 2 /* 存储空间分配增量 */
typedef struct SqStack
{
SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL */
SElemType *top; /* 栈顶指针 */
int stacksize; /* 当前已分配的存储空间,以元素为单位 */
}SqStack; /* 顺序栈 */ /* bo3-1.c 顺序栈(存储结构由c3-1.h定义)的基本操作(9个) */ Status InitStack(SqStack *S)
{ /* 构造一个空栈S */
(*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!(*S).base)
exit(OVERFLOW); /* 存储分配失败 */
(*S).top=(*S).base;
(*S).stacksize=STACK_INIT_SIZE;
return OK;
}
Status DestroyStack(SqStack *S)
{ /* 销毁栈S,S不再存在 */
free((*S).base);
(*S).base=NULL;
(*S).top=NULL;
(*S).stacksize=0;
return OK;
}
Status ClearStack(SqStack *S)
{ /* 把S置为空栈 */
(*S).top=(*S).base;
return OK;
}
Status StackEmpty(SqStack S)
{ /* 若栈S为空栈,则返回TRUE,否则返回FALSE */
if(S.top==S.base)
return TRUE;
else
return FALSE;
}
int StackLength(SqStack S)
{ /* 返回S的元素个数,即栈的长度 */
return S.top-S.base;
}
Status GetTop(SqStack S,SElemType *e)
{ /* 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR */
if(S.topS.base)
{
*e=*(S.top-1);
return OK;
}
else
return ERROR;
}
Status Push(SqStack *S,SElemType e)
{ /* 插入元素e为新的栈顶元素 */
if((*S).top-(*S).base=(*S).stacksize) /* 栈满,追加存储空间 */
{
(*S).base=(SElemType *)realloc((*S).base,((*S).stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!(*S).base)
exit(OVERFLOW); /* 存储分配失败 */
(*S).top=(*S).base+(*S).stacksize;
(*S).stacksize+=STACKINCREMENT;
}
*((*S).top)++=e;
return OK;
}
Status Pop(SqStack *S,SElemType *e)
{ /* 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR */
if((*S).top==(*S).base)
return ERROR;
*e=*--(*S).top;
return OK;
}
Status StackTraverse(SqStack S,Status(*visit)(SElemType))
{ /* 从栈底到栈顶依次对栈中每个元素调用函数visit()。 */
/* 一旦visit()失败,则操作失败 */
while(S.topS.base)
visit(*S.base++);
printf(\n);
return OK;
} /* main3-1.c 检验bo3-1.cpp的主程序 */ #incl
您可能关注的文档
- 某桥主要分项工程施工工艺以及框图.doc
- 某水电站定子组装技术措施H.doc
- 某微生物代谢物的分离纯化.pdf
- 某污水处理厂BOT项目的风险评价分析_李洪淼.pdf
- 某微细粒嵌布贫铁矿合理选矿工艺研究.pdf
- 某汽油发动机三元催化器内流场分析.pdf
- 某污水处理厂供配电系统的设计.pdf
- 某洁净室检测大粒子超标问题分析及解决办法.pdf
- 某民用建筑工程暖通空调初步设计图纸.doc
- 某空港大楼地下室防水技术处理.doc
- 低空旅游品牌建设报告:2025年中国低空旅游品牌影响力评估.docx
- 响应式设计在课件制作中的应用.pptx
- 2024-2025学年一级建造师试卷及答案详解(全国通用).docx
- 2025年线上职业技能竞赛跨境联赛平台赛事赞助商权益保障研究.docx
- 9 《手术室护理风险管理FMEA失效模式与效应分析在护理质量提升中的应用研究》教学研究课题报告.docx
- 2024-2025学年一级建造师试卷及答案详解【精选题】.docx
- 2024-2025学年一级建造师试卷及完整答案详解【易错题】.docx
- 跨境珠宝电商直播基地行业创新与突破路径研究报告.docx
- 《生命周期评价方法在城市固体废弃物处理设施环境影响预测中的应用》教学研究课题报告.docx
- 《幼儿园游戏化课程在幼儿创造力培养中的跨学科课程开发研究》教学研究课题报告.docx
文档评论(0)