怎么用手机制作网站,凡科网站案例,做网站是58好还是百度好,株洲seo优化报价栈#xff1a;限定仅在表尾进行插入或删除操作的线性表#xff0c;对栈来说#xff0c;表尾端为栈顶#xff0c;表头端为栈底。
本文实现了顺序栈的表示和相关函数操作#xff0c;以及一些验证性代码。
#includestdio.h
#includestdlib.h
#includew…栈限定仅在表尾进行插入或删除操作的线性表对栈来说表尾端为栈顶表头端为栈底。
本文实现了顺序栈的表示和相关函数操作以及一些验证性代码。
#includestdio.h
#includestdlib.h
#includewindows.h#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define TRUE 1
#define FALSE 0
#define ERROR 0typedef int Status;
typedef int SElemType;typedef struct{SElemType *base;SElemType *top;int stacksize;
}SqStack;Status Init_Stack(SqStack S){S.base(SElemType*)malloc(sizeof(SElemType)*STACK_INIT_SIZE);if(!S.base){printf(Merry Error\n);exit(0);}S.topS.base;S.stacksizeSTACK_INIT_SIZE;return OK;
}Status Clear_Stack(SqStack S){S.topS.base;return OK;
}Status Stack_Empty(SqStack S){if(S.topS.base){return TRUE;}else{return FALSE;}
}int Stack_Length(SqStack S){int length0;while(S.base!S.top){S.top--;length;}return length;
} Status Get_Top(SqStack S,SElemType e){if(S.baseS.top){return ERROR;}else{e*(S.top-1);return OK;}
}Status Push(SqStack S,SElemType e){if(S.top-S.baseS.stacksize){S.base(SElemType *)realloc(S.base,sizeof(SElemType)*(S.stacksizeSTACKINCREMENT));if(!S.base){printf(Merroy Error!\n);exit(0);}}S.stacksizeSTACKINCREMENT;*S.tope;return OK;
}Status Pop(SqStack S,SElemType e){if(S.baseS.top){return ERROR;}e*(--S.top);return OK;
}Status Destroy_Stack(SqStack S){S.topS.base;free(S.base);return OK;
}int main(){SqStack S;int e;int choice;if(Init_Stack(S)){printf(Init Stack OK!\n);}while(1){printf(选择要进行的操作\n);printf(1、压栈 2、出栈\n);printf(3、取栈顶 4、栈长度\n);printf(5、清空栈 6、销毁栈\n);scanf(%d,choice);switch(choice){case 1:printf(要压栈的数据);scanf(%d,e);Push(S,e);break;case 2:if(Pop(S,e)){printf(出栈的数据为%d\n,e);}else{printf(空栈出栈失败\n);}break;case 3:if(Get_Top(S,e)){printf(栈顶元素为%d\n,e);}else{printf(空栈出栈失败\n);}break;case 4:printf(栈长度为%d\n,Stack_Length(S));break;case 5:Clear_Stack(S);break;case 6:Destroy_Stack(S);printf(栈已销毁退出程序中\n);Sleep(1000); exit(0);default:break;}}return 0;
}
欢迎留言交流