知识大全 栈和队列 - 栈和队列的应用实例 - 栈的应用实例(一)
Posted 知
篇首语:仰天大笑出门去,我辈岂是蓬蒿人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 栈和队列 - 栈和队列的应用实例 - 栈的应用实例(一)相关的知识,希望对你有一定的参考价值。
栈和队列的应用非常之广 只要问题满足后进先出和先进先出原则 均可使用栈和队列作为其数据结构
栈的应用
数制转换
将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题 很容易通过 除B取余法 来解决
【例】将十进制数 转化为二进制数
解答 按除 取余法 得到的余数依次是 则十进制数转化为二进制数为
分析 由于最先得到的余数是转化结果的最低位 最后得到的余数是转化结果的最高位 因此很容易用栈来解决
转换算法如下
typedef int DataType;//应将顺序栈的DataType定义改为整型
void MultiBaseOutput (int N int B)
//假设N是非负的十进制整数 输出等值的B进制数
int i;
SeqStack S;
InitStack(&S);
while(N) //从右向左产生B进制的各位数字 并将其进栈
push(&S N%B); //将bi进栈 <=i<=j
N=N/B;
while(!StackEmpty(&S)) //栈非空时退栈输出
i=Pop(&S);
printf( %d i);
cha138/Article/program/sjjg/201311/23920
相关参考
知识大全 栈和队列 - 栈和队列的应用实例 - 队列的应用实例
队列的应用舞伴问题 问题叙述 假设在周末舞会上男士们和女士们进入舞厅时各自排成一队跳舞开始时依次从男队和女队的队头上各出一人配成舞伴 若两队初始人数不相同则较长的那一队中未配对者等待下一轮舞
栈和队列的应用非常之广只要问题满足后进先出和先进先出原则均可使用栈和队列作为其数据结构栈的应用数制转换 将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题很容易通过除B取余法来解决
栈和队列是两种特殊的线性表它们的逻辑结构和线性表相同只是其运算规则较线性表有更多的限制故又称它们为运算受限 的线性表栈和队列被广泛应用于各种程序设计中 栈的定义及基本运算 栈的定义 栈(S
栈与队列的比较 栈与递归cha138/Article/program/sjjg/201311/23214
链栈 栈的链式存储结构称为链栈 链栈的类型定义 链栈是没有附加头结点的运算受限的单链表栈顶指针就是链表的头指针 > 链栈的类型说明如下 typedefstructstacknode
顺序栈 栈的顺序存储结构简称为顺序栈它是运算受限的顺序表 顺序栈的类型定义 #defineStackSize//假定预分配的栈空间最多为个元素 typedefcharDataType;//
栈和队列是两种特殊的线性表它们的逻辑结构和线性表相同只是其运算规则较线性表有更多的限制故又称它们为运算受限的线性表栈和队列被广泛应用于各种程序设计中栈的定义及基本运算栈的定义  
第四章栈和队列 本章介绍了栈的定义以及栈的基本操作的实现特别介绍了栈与递归的关系以及栈和递归在问题求解中的作用本章还介绍了队列的定义队列的存储桔构队列基本操作的实现特别介绍了循环队列及其应用以及其它
一个栈的输入序列为则下列序列中不可能是栈的输出序列的是( )【南开大学一】【山东大学二(分)】【北京理工大学一(分)】 A &
第三章栈和队列 栈 栈的定义及基本运算 栈是限制仅在表的一端进行插入和删除运算的线性表又称为后进先出表(LIFO表)插入删除端称为栈顶另一端称栈底表中无元素称空栈基本运算有 )initst