永发信息网

设计算法,入栈和出栈的操作。具体实现要求: 1.写出栈的入栈和出栈算法。 2.写一个程序,将输入的十进

答案:2  悬赏:50  手机版
解决时间 2021-02-19 06:00
设计算法,入栈和出栈的操作。具体实现要求: 1.写出栈的入栈和出栈算法。 2.写一个程序,将输入的十进
最佳答案
楼主 ,这是我用链表结构实现的栈,以下是算法,顺序表部分没写,最近没什么时间,不好意思啦。。
#include
#include //包括malloc()和realloc()函数的头文件
#include //包括pow()函数的头文件
#define Max_stack_size 20
#define Addersize 10
typedef char Elemtype;
typedef struct{
Elemtype *base;
Elemtype *top;
int stacksize;
}sqStack;

void initStack (sqStack *s){ //初始化一个空栈
s->base=(Elemtype *)malloc(Max_stack_size*sizeof(Elemtype));
if(!s->base) exit(0);
s->top=s->base;
s->stacksize=Max_stack_size;
}

void pushStack(sqStack *s,Elemtype e){ //入栈操作
if(s->top-s->base>=s->stacksize)
{s->base=(Elemtype *)realloc(s->base,(s->stacksize+Addersize)*sizeof(Elemtype));
if(!s->base) exit(0);
s->top=s->base+s->stacksize;
s->stacksize=s->stacksize+Addersize;}
*(s->top)=e;
s->top++;
}

void popStack(sqStack *s,Elemtype *e){ //出栈操作
if(s->top==s->base) return;
*e=*--(s->top);
}

void clearStack(sqStack *s) //清空栈
{
s->top=s->base;
}

void destroyStack(sqStack *s){ //销毁栈
int i;
int len;
len=s->stacksize;
for(i=0;i {free(s->base);
s->base++;
}
s->base=NULL;
s->top=s->base;
s->stacksize=0;
}

int counterStack(sqStack s)
{return (s.top-s.base);}

void main()
{ sqStack p;
Elemtype c;
int i,sum,length;
sum=0;
printf("initial:\n");
initStack(&p);
printf("push the 8 scale:\n");
scanf("%c",&c); //输入数据时不能隔开,否则答案错误,空格也算字符
while(c!='#')
{pushStack(&p,c);
scanf("%c",&c);
}getchar();
length=counterStack(p); //有错时更容易检测到。。
printf("numbers'length:%d\n",length);
for(i=0;i {popStack(&p,&c);
{sum=sum+(c-48)*pow(8,i);} //二进制pow(8,i)改为pow(2,i),十六进制用if else如中所示
}

printf("the answer is:%d\n",sum);
}
全部回答
不好好学习......
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我在老凤祥买的钻戒 当时打完折是13000,现在
没身份证可以买号码卡吗?急!
“车载自动诊断系统”的英文缩写是()
鑫源不锈钢铝合金地址在哪,我要去那里办事
九阴真经飞鸿踏雪5成的效果多少秒
长城华夏葡园小产区(A区)干红葡萄酒(750ml
中卫市农产品流通商会在哪里啊,我有事要去这
护理人员应正确选择加药针头,一般加药针头型
景县哪里有给华为手机换屏的
建筑结构图中(hg+0.120)是什么意思
谁有RunningMan20140316的
巜寻找鱼王的好词好句
神奇宝贝特别篇黑白漫画
【liy】shliy是什么意思
1cr13-5是什么意思代表什么?
推荐资讯
金相水暖地址有知道的么?有点事想过去
隋意酒店在什么地方啊,我要过去处理事情
假如,有一天一对很有钱的夫妇告诉你他们才是
电动车控制器相位角与电机相位角不匹配车有什
戒不掉的思念成殇是什么意思
孟母林地址在什么地方,想过去办事
DNF皮肤减少物理伤害好,还是减少魔法伤害好
老台门凤城二路海璟店地址有知道的么?有点事
在1到18号元素中,最外层电子数是次外层电子数
银行自动取款机上一天里同行转账有最高限额吗
靖州县职业技能培训中心地址好找么,我有些事
74-28+26怎么简算求问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?