- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第3章 栈与队课件
第3章 栈和队列;本章主要内容;3.1 栈;图 3-1;栈的操作入栈演示;栈的操作出栈演示;栈的特点;栈的基本操作;栈的基本操作;栈的顺序存储;1、初始化栈;侨熏拴求饲艺吾宋涅抿肛恩肝壤焊汗膜镭管柑癌心狞盟膊撞靖痢瑚猿霉人数据结构第3章 栈与队课件数据结构第3章 栈与队课件;2、销毁栈
顺序栈的销毁操作是初始化操作的逆运算。由于要修改栈的指针变量,所以要将指针地址传给该函数。
void Destroy_ SeqStack (PSeqStack * SeqStackPoint)
{/*销毁顺序栈,入口参数:为要销毁的顺序栈指针地址*/
if (*SeqStackPoint) free (*SeqStackPoint) ;
* SeqStackPoint =NULL;
return ;
}; main()
{ PSeqStack S;
S=Init_SeqStack();
……
Destroy_ SeqStack (S);
};顺序存储的栈的基本操作算法;4、入栈
入栈操作是在栈的顶部进行插入一个元素。首先判断栈是否已满,若满退出,否则,由于栈的top指向栈顶,只要将入栈元素赋到top+1的位置同时top++即可;5、出栈 出栈操作是在栈的顶部进行删除操作,首先判断栈是否为空,若空退出,否则,由于栈的top指向
栈顶,只要修改top为top -1即可。;6、取栈顶元素
取栈顶元素操作是取出栈顶指针top所指的元素值。先判断栈是否为空,若空退出,否则返回top 所指单元的值;若是栈中元素的数目变化范围较大或不清楚栈元素的数目,就应该考虑使用链式存储结构 -“链栈”。链栈通常用一个无头结点的单链表表示。
对于单链表,在首端插入删除结点要比尾端相对地容易一些,所以,将单链表的首端作为栈顶端,即将头指针作为栈顶指针。;跨字蕊浚慰命折朱械费蝶县壤需堕峭岩擞艇寝泉懒敏舌洽嘿侗灼峙凹摆印数据结构第3章 栈与队课件数据结构第3章 栈与队课件;栈的链式存储结构C定义;1、初始化空栈
PLinkStack Init_LinkStack(void)
{ /*初始化链栈,入口参数:空,返回值:
链栈指针,null表示初始化失败*/
PLinkStack S;
S=(PLinkStack)malloc(sizeof(LinkStack));
if (S) S-top=null;
return (S);
};2、销毁栈
void Destroy_LinkStack (PLinkStack *LS)
{ /*销毁链栈,入口参数:为要销毁的链栈指针地址,无返回值*/
PStackNode p,q ;
if (*LS) {
p=*LS-top;
while(p) {
q=p; p=p-next; free(q);
}
free (*LS) ;
}
* LS=null;
};3、判栈空
int Empty_LinkStack(PLinkStack S )
{/*判断链栈是否为空,入口参数:链栈指针,返回值:
1表示栈空,0表示栈非空*/
return (S-top==null) ;
};4、入栈
int LinkStack Push_LinkStack(PLinkStack S, DataType x)
{
PStackNode p ;
p=(PStackNode) malloc(sizeof(StackNode));
if (!p) {
printf(“内存溢出”); return (0);
}
p-data=x; p-next=S-top;
S-top=p; return (1);
};5、出栈
int Pop_LinkStack (PLinkStack S, DataType *x)
{
PStackNode p;
if (Empty_LinkStack (S)) {
printf
您可能关注的文档
- 数据库和表(二)课件.ppt
- 数据库在测量中应用第一讲课件.ppt
- 数据库基本原理与应用课件.ppt
- 数据库在测量中应用第三讲结构化查询语言课件.ppt
- 数据库基础第3章 数据库创建和管理课件.ppt
- 数据库备份和恢复课件.ppt
- 数据库实验 第二讲 建库、附加和分离课件.ppt
- 数据库库系统概论之第3章 SQL(连接查询)课件.ppt
- 数据库安全与访问控制课件.ppt
- 数据库实践和设计 chp1-4课件.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)