谢谢大家的帮助,特别是版主!
不过再此回答“好学”朋友的一句话,在下并非小学生,也许有些懵懂;但若是真有小学生能够编辑出流利的程序,在下也会不耻下问的!
-----再次感谢大家!
感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
int FreeSpace; void InitFreeSpace(int &Fs) { Fs=3; for(int i=3;i<MAXSIZE;i++) MS[i].next=i+1; MS[MAXSIZE-1].next=0; } void Push(ALinList *s,DataType x) { if(StackFull(s)) error("overflow!\n"); PopEmptySpace(FreeSpace,e);
MS[e].data=x; MS[e].next=s->next; s->next=e; } void Pop(AlinList *s,DataType &x) { if(StackEmpty(s)) error("underflow!\n"); x=s->next->data; PushEmptySpace(FreeSpace,s->next); } void PushEmptySpace(int &Fs,int p) { if(p<3||p>=MAXSIZE) error("error position!"); MS[p].next=Fs; Fs=p; } void PopEmptySpace(int &Fs,int &p) { if(EmptyFreeSpace(Fs)) error("can't popup!"); p=Fs; Fs=MS[Fs].next; } .... void main( ) { .... scanf("%d",&x); if(........) Push(MS[0],x); else if(............) Push(MS[1],x); else if(............) Push(MS[2],x); ........... }