当前位置: 首页 > news >正文

建设境外网站智能模板网站建设价格

建设境外网站,智能模板网站建设价格,浙里建官方网站,如何网站制作1.栈的相关概念 栈是一种特殊的线性表, 其中只允许在固定的一端进行插入和删除元素.进行数据插入和删除的一端叫做栈顶, 另一端成为栈底. 不含任何元素的栈称为空栈, 栈又称为先进先出的线性表. 2. 顺序栈的结构 3. 顺序栈的具体操作 (1). 数据结构 typedef char SeqStackTyp…1.栈的相关概念 栈是一种特殊的线性表, 其中只允许在固定的一端进行插入和删除元素.进行数据插入和删除的一端叫做栈顶, 另一端成为栈底. 不含任何元素的栈称为空栈, 栈又称为先进先出的线性表. 2. 顺序栈的结构 3. 顺序栈的具体操作 (1). 数据结构 typedef char SeqStackType;typedef struct SeqStack {SeqStackType *data;int size;int capacity; }SeqStack; (2).顺序栈的初始化 void SeqStackInit(SeqStack* stack) {if(stack NULL){return;//非法输入}stack - size 0;stack - capacity 1000;stack - data (SeqStackType*)malloc(( stack - capacity ) * sizeof(SeqStack)); } (3). 顺序栈的销毁 void SeqStackDestroy(SeqStack* stack) {if(stack NULL){return;//非法输入}free(stack - data);stack - size 0;stack - capacity 0; } (4). 顺序栈的扩容 void SeqStackReSize(SeqStack* stack) {if(stack NULL){return;}if(stack - size stack - capacity){return;}stack - capacity stack - capacity * 2 1;SeqStackType* new_ptr (SeqStackType*)malloc(stack - capacity);int i 0;for(; i stack - size; i){new_ptr[i] stack - data[i];}} (5). 顺序栈的入栈 void SeqStackPush(SeqStack* stack, SeqStackType value) {if(stack NULL){return;}if(stack - size stack - capacity){//扩容SeqStackReSize(stack);}stack - data[stack - size] value; } (6). 顺序栈的打印 void TestPrintChar(SeqStack* stack, char* msg) {printf([ %s ]\n, msg);if(stack NULL){return;}printf(size %d\n, stack - size);printf(capacity %d\n, stack - capacity);int i 0;for(; i stack - size; i){printf([%c] , stack - data[i]);}printf(\n); } (7). 顺序栈的出栈 void SeqStackPop(SeqStack* stack) {if(stack NULL){return;//非法输入}if(stack - size 0){return;//空栈}stack - size--; } (8). 取栈顶元素 int SeqStackGetFront(SeqStack* stack, SeqStackType* value) {if(stack NULL || value NULL){return -1;//非法输入}if(stack - size 0){return -1;//空栈}*value stack - data[stack - size - 1];return 0; } (9). 测试代码 //以下为测试代码 void TestGetFront() {TESTHEADER;SeqStack stack;SeqStackInit(stack);SeqStackPush(stack, a);SeqStackPush(stack, b);SeqStackPush(stack, c);SeqStackPush(stack, d);TestPrintChar(stack, 入栈四个元素);SeqStackType value;int ret SeqStackGetFront(stack, value);printf(expected ret 0, actual ret %d\n, ret);printf(expected value d, actual value %c\n, value); }void TestDestroy() {TESTHEADER;SeqStack stack;SeqStackInit(stack);SeqStackPush(stack, a);SeqStackPush(stack, b);SeqStackPush(stack, c);SeqStackPush(stack, d);TestPrintChar(stack, 入栈四个元素);SeqStackDestroy(stack);TestPrintChar(stack, 销毁栈); }void TestInit() {TESTHEADER;SeqStack stack;SeqStackInit(stack);TestPrintChar(stack, 初始化栈); }void TestPop() {TESTHEADER;SeqStack stack;SeqStackInit(stack);SeqStackPush(stack, a);SeqStackPush(stack, b);SeqStackPush(stack, c);SeqStackPush(stack, d);TestPrintChar(stack, 入栈四个元素);SeqStackPop(stack);SeqStackPop(stack);TestPrintChar(stack, 出栈两个元素);SeqStackPop(stack);SeqStackPop(stack);TestPrintChar(stack, 再出栈两个元素);SeqStackPop(stack);TestPrintChar(stack, 对空栈进行出栈);}void TestPush() {SeqStack stack;SeqStackInit(stack);SeqStackPush(stack, a);SeqStackPush(stack, b);SeqStackPush(stack, c);SeqStackPush(stack, d);TestPrintChar(stack, 入栈); }int main() {TestInit();TestPush();TestPop();TestGetFront();TestDestroy();return 0; }
http://www.sadfv.cn/news/130947/

相关文章:

  • 肇庆关键词网站排名男女做暖暖的试看网站漫画
  • 仿制网站的软件搜集素材的网站
  • 网站开发支付功能怎么做微山做网站
  • 湖北网站建设网址wordpress指定域名
  • 网站网页制作的公网址大全分类之一览表大全网
  • 网站没有做适配 怎么办域名怎么建网站
  • seo网站外链工具电商网站平台有哪些功能
  • 宝安网站设计项目室内外设计
  • 保康网站建设wordpress5换回编辑器
  • 淄博网站建设公司有多少家微信api文档
  • wordpress区块编辑无法使用广东网站营销seo方案
  • 大连市建设局网站南京网站建设方案
  • 西安h5建站一级造价工程师合格标准
  • 网站怎么做扫码微信支付接口网络广告投放公司
  • 东莞网站包年优化重庆网站seo公司
  • 读书网网站建设策划书网站优化关键词怎么做
  • 网站设计的思路门户网站舆情怎么做
  • 杭州pc网站开发公司有哪些漳州市网站建设费用
  • 重庆网站建设 微客巴巴建站技术博客
  • 成都网站制作培训东莞市手机网站建设品牌
  • 商洛市商南县城乡建设局网站wordpress婚庆主题
  • 下载了源码怎么做网站织梦网络设计工作室网站模板
  • 七米网站建设做外贸需要做个英文网站吗
  • 做电影网站一年赚多少钱义乌建网站
  • 烟台seo网站排名优化网站刚刚开始怎么做
  • 企业网站设计的主要目的seo网站推广杭州
  • 深圳企业网站哪家好icp备案需要先建设网站么
  • 深圳做网站推广的公司wordpress应用apok主题
  • 做网站如何组建域名门户网站通俗理解
  • 网站改版说明wordpress 自定义页眉