Ezio_小铭 Ezio_小铭
关注数: 213 粉丝数: 93 发帖数: 1,903 关注贴吧数: 28
关于栈的代码。请帮我看看 #include<stdio.h> #include<stdlib.h> #include<malloc.h> #include<iostream> using namespace std; #define StackSize 100 #define StackIncrement 10 typedef struct SqStack { int *base; int *top; int stacksize; }SqStack; int InitStack(SqStack *S) { S->base=(int *)malloc(StackSize *sizeof(int)); if(!S->base) { return 0; }//存储分配失败 S->top=S->base; S->stacksize=StackSize; return 1; } void GetTop(SqStack S,int &e) { if(S.top==S.base) { cout<<"栈为空"; } else { e=*(S.top-1); cout<<"栈顶元素为"<<e; } } int StackLength(SqStack S) { cout<<"栈的长度为"<<S.top-S.base; return 0; } void ClearStack(SqStack *S) { S->top=S->base; } void DestroyStack(SqStack *S) { if(S->base) { free(S->base); } S->base=S->top=NULL; cout<<"销毁成功"; } void Show(SqStack S) { int *p=S.top; while(p!=S.base) { cout<<*(--p)<<" "; } cout<<*p<<" "; } void Push(SqStack *S,int e) { if(S->top-S->base>=S->stacksize) { S->base=(int *)realloc(S->base,(S->stacksize+StackIncrement)*sizeof(int)); if(!S->base) { exit(1); } S->top=S->base+S->stacksize; S->stacksize=StackIncrement; } *S->top++=e; } void Pop(SqStack *S,int &e) { if(S->top==S->base) { cout<<"栈空"; } else { e=*--S->top; } } void StackEmpty(SqStack S) { if(S.base==S.top) { cout<<"栈为空"; } else { cout<<"栈不空"; } } int main() { SqStack *S; int i,e,n,j; while(1) { cout<<"1.创建空栈"<<endl; cout<<"2.插入元素"<<endl; cout<<"3.栈的判空"<<endl; cout<<"4.重置栈"<<endl; cout<<"5.计算栈长"<<endl; cout<<"6.取栈顶元素"<<endl; cout<<"7.删除栈顶元素"<<endl; cout<<"8.销毁栈"<<endl; cout<<"9.打印栈中元素"<<endl; cout<<"10.退出程序"<<endl; cout<<"请输入要执行的步骤:"; cin>>i; if(i==1) { InitStack(S); } if(i==2) { cout<<"请输入要插入的元素个数:"; cin>>n; for(j=0;j<n;j++) { cout<<"请输入要插入的元素:"; cin>>e; Push(S,e); } } if(i==3) { StackEmpty(*S); } if(i==4) { ClearStack(S); } if(i==5) { StackLength(*S); } if(i==6) { GetTop(*S,e); } if(i==7) { Pop(S,e); } if(i==8) { DestroyStack(S); } if(i==9) { Show(*S); } if(i==10) { break; } } return 0; } 编译可以通过。但是输入1初始化栈的时候就会停止运行。不知道为什么。。求解答
对于某些人玩游戏只看画面。。。 在逛贴吧的时候经常有人会说很担心刺客前几部画面太差自己无法接受,将游戏的好坏和画面的好坏等同起来,我实在无法接受。诚然,现在游戏市场画面是一个很大的卖点,画面好可以吸引很多人来玩,但是游戏最重要的游戏性而不是画面,要画面好再精致不过现实你出去跟别人玩不就好了?但是很多人却依旧不玩所谓画面不好的游戏,但是,就我来看,几年前的游戏质量比现在高了不知道多少个档次。现在的游戏就只注重在画面,完全商业化,所以才有ACU这种看似画面很好其实优化和细节渣的一笔的烂作出来。不得不说,ACU在我看来是这么多部AC中最失败的一部,一味寻求创新和 ,改了刺客原有的味道,双杀都要学,操作还特地拿去改,BUG还特别多,对于一个从第一部开始都有玩的AC迷(虽然都是盗版)来说真的挺心痛。 我舍友也是一个只注重画面的人,他玩CODOL我玩CSGO,他看到CSGO说画面这么差激活码还卖60一个不如去玩CODOL,我笑笑懒得回嘴。我偶尔也会玩玩冒险岛彩虹岛什么的怀旧一下,他看到说:“啊?现在还有人玩画面这么差的横版游戏啊?这种游戏早就被时代淘汰了啊。”还跟别人说CS那种血条设定太过时了,CODOL那种被打了找个地方躲起来回血的设定才是潮流时尚啊。我都只是笑笑,拿CODOL一个连小辈都不算的游戏来批评CS这个FPS界老大哥,只能说明自己的肤浅。 ------------------------------------------------------------------------------------------- 嗯,说了这么多感觉好像有点偏题不过算了,就这样吧。写这些也不是想说画面党都是渣渣,只是想说注重画面的同时也要注重游戏性,不,应该更注重游戏性,毕竟游戏是拿来玩的不是拿来看的。
逛了一段时间DOTA吧。有个意见提一下。 最近刚开始逛DOTA吧,不过发现有的地方不大好,想提提意见。就是很多人会鄙视天梯比自己低的人。说实话我觉得这个现象非常不好,鄙视别人的人又没有好处,被鄙视的人自尊心也受伤了。上次有个人发了个贴,名字是“1800分以下的和QQ平台的脑残不要进来”,我看到就火了。LZ天梯就800分,新手一个,但是无缘无故被鄙视了也很不爽。于是按进去看下,发现是说QQ平台两个人跟他说小狗的出装,他不同意,就来发了这个贴。但是发帖吐槽有必要鄙视人吗?我天梯低于1800我有错吗?而且人家玩QQ对战平台也没有错啊,各个平台都会有人玩的啊。如果Pis或者Maybe什么的跑去QQ平台玩,那他们也是脑残了?11和QQ只是两个平台,没有必要搞出什么优越感吧。而且不会玩的人每个平台都有,没必要搞平台歧视吧。还有,按天梯积分来鄙视人也太**了吧。没错,你1800我跟你SOLO大概10分钟不到就要GG了,但是,比你厉害的人多的是吧,如果你遇到Maybe遇到PIS从零单排,被杀穿了,他们就可以以高贵的姿态说:“1800的垃圾”了吗?谁听了都不爽吧。800分也好,1800也好,都是有自尊的。再厉害总有比你更厉害的人。天梯第一的Maybe从零单排胜率也没100%呢。 还有,DOTA没落的原因跟DOTA2的崛起的确有很大关系,但是其实跟DOTA的玩家也有很大关系。每个人都是从新手走过来的。但是有些人就是爱骂新手,来体现自己技术高高在上。新手刚开始玩,死了几次,别人就开始骂:“***,不会玩给我滚蛋行不行?”“你TM在打什么啊!”然后在被拆基地时对对面说:“唉,队友太菜了啊。”搞得很多新手玩家干脆不玩了,玩不好就会受气,玩不起还躲不起? 所以我认为这种风气真的要改一下,遇到新手玩家他不会玩就教教他,说不定还交了个朋友,过了几年谁带谁还不知道。用天梯积分来鄙视人的,真心希望别再这样了,如果你真的改不了那我也没办法,看到这种帖子无视好了。 - -不知道写这种东西有木有违反贵吧的吧规,我只是想吐槽一下。如果违反吧规就删了吧。
1 下一页