- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章链栈及栈的应用
第3章 链栈及栈的应用;栈的链接存储结构及实现 ;栈的链接存储结构及实现 ;3 链栈
栈的链式存储结构称为链栈,它是运算受限的单链表,其插入和删除操作仅限制在表头位置上进行.
由于只能在链表头部进行操作,故链表没有必要像单链表那样附加头结点。栈顶指针就是链表的头指针。
其类型说明为:
typedef struct StackNode{
DataType data
struct StackNode *next
};
StackNode *top;;(1) 初始化栈
void InitStack( StackNode *top){
top=NULL;
}
(2) 判断空栈
int StackEmpty(StackNode *top){
return (top==NULL);
}
(3)取栈顶
DataType GetTop(StackNode *top)
{
if(StackEmpty(top))
error (“stack is empty.”);
return top–data;
}
;算法描述:
void Push(StackNode *top,DataType x){
s=(StackNode*)malloc(sizeof(StackNode));
s-data=x;
s-next=top;
top=s;
};算法描述:
DataType Pop(StackNode *top)
{
if(StackEmpty(top)
error(“stack underflow.”);
x=top-data;
p=top;
top=top-next;
free( p);
return x;
}; 3.2 栈的应用举例
1 数制转换
十进制N和其它进制数的转换是计算机实现计算的基本问题,其解决方法很多,其中一个简单算法基于下列原理:
N=(n div d)*d+n mod d
(其中:div为整除运算,mod为求余运算)
例如 (1348)10=(2504)8,其运算过程如下:; N N div 8 N mod 8
1348 168 4
168 21 0
21 2 5
2 0 2
先入栈,再出栈
入栈顺序:4,0,5,2.
出栈顺序:2,5,0,4
所以 1348 = (2504)o; void conversion( ) {
//输入任意一个非负十进制整数,打印输出与其等值的八进制数
InitStack(S); //初始化栈
scanf (“%d”,N); //输入一个非负十进制数
while(N){ // 非零时,循环
push(S,N%8);//余数入栈
N=N/8;
}
while(! StackEmpty(S)){
Pop(S,e);//余数出栈
printf(“%d”,e);
}
}//conversion ;2 行编辑程序
接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入错误,并在发现有误时可以及时更正。
例如:用户发现输入错误时,输入”#”(退格符),以表示前一个字符无效; 输入”@”(退行符),表示当前输入的一行无效;
设一个栈接受输入,每输入一个字符,做如下判断:
是无效符,删除前一个入栈的符号
是退行符,删除前一行入栈的符号
其它,入栈 ;行编辑程序算法如下:
void LineEd
您可能关注的文档
最近下载
- JGJ-T98-2010砌筑砂浆配合比设计规程(正式版).pdf VIP
- (高职)管理信息系统(第七版)教学课件(完整版).pptx
- 怎样解题数学思维的新方法读后感.doc VIP
- 2022年万宁菜篮子投资有限公司招聘考试题库及答案解析.docx VIP
- AI专题:2025年AI应用案例精选报告.pptx VIP
- 人教版物理九年级上册《第十八章 电功率》大单元整体教学设计.pdf
- 骨量不足的口腔种植外科技术.ppt VIP
- 海口市龙华区镇域污水处理厂及配套管网工程(遵谭镇) 环评报告.docx VIP
- 近零能耗建筑技术标准.docx VIP
- Unit 1 How can we become good learners Section B 1a-1e 课件(共26张PPT)(含音频+视频).pptx VIP
文档评论(0)