- 1
- 0
- 约2.36千字
- 约 11页
- 2026-03-06 发布于陕西
- 举报
第三章栈-应用举例
南京工业职业技术大学
3.3栈的应用举例1.数制转换由于栈的“后进先出”的特点在数据处理中有着广泛的应用,进制转换就是利用栈做一个辅助的数据结构进行求解的典型示例。【例3-1】使用展转相除法将一个非负十进制整数值转换成二进制数值。即用该十进制数值除以2,并保留其余数,重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的二进制数值。如:(121)10=(1111001)2,其展转相除的过程如图3-8所示。
3.3栈的应用举例图3-8十进制数121转换二进制的过程图
3.3栈的应用举例十进制转换为二进制完整算法描述如下:voidD_B(LinkStack*S,DataTypex){/*十——二进制数转换*/while(x){S=Push(S,x%2);/*余数入栈,调用Push(LinkStack*S,DataTypex)函数*/x/=2;/*被除数data整除以2,得到新的被除数*/}printf(转换后的二进制为:);while(!EmptyStack(S)){S=Pop(S,x);/*依次从栈中弹出每一个余数并输出,调用Pop(Lin
原创力文档

文档评论(0)