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

网站搬家内页打不开wordpress php推送

网站搬家内页打不开,wordpress php推送,湘潭网站建设 沟通磐石网络,网站制作南宁💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一、题目描述 二、解题思路 三、代码实现 一、题目描述 二、解题思路 问题要求将三种类型括号匹配,其中包括顺序匹配和数量匹配 使用栈的后进先…

💓 博客主页:C-SDN花园GGbond

⏩ 文章专栏:数据结构经典题目刨析(c语言)

目录

一、题目描述

二、解题思路 

三、代码实现 


 

一、题目描述

二、解题思路 

问题要求将三种类型括号匹配,其中包括顺序匹配数量匹配

使用栈的后进先出结构可以很好的解决这个问题:

根据栈独有的特点,具体操作:1、属于左括号,进行入栈处理。2、属于右括号进行出栈处理,然后进行匹配,不匹配就报错。我们既然选择用C语言来实现,就需要我们自己提前实现一个栈结构

先实现栈 :

//栈的初始化
void STInit(ST* pst)
{assert(pst);pst->a = NULL;pst->top = pst->capacity = 0;//top指向栈顶元素的下一个位置}
void STDestroy(ST* pst)
{assert(pst);free(pst->a);pst->a = NULL;pst->top = pst->capacity = 0;}
void STPush(ST* pst, STDatyType x)
{assert(pst);if (pst->top == pst->capacity){int newcapacity=pst->capacity==0 ? 4 : pst->capacity * 2;STDatyType* tmp =(STDatyType*)realloc(pst->a, newcapacity * sizeof(STDatyType));if (tmp == NULL){perror("ralloc fail");return;}pst->capacity = newcapacity;pst->a = tmp;}pst->a[pst->top] = x;pst->top++;
}
//出栈
void STPop(ST* pst)
{assert(pst);assert(pst->top > 0);pst->top--;
}
//得到栈顶元素
STDatyType STTop(ST* pst)
{assert(pst);assert(pst->top > 0);return pst->a[pst->top - 1];
}
//判空
bool STEmpty(ST* pst)
{assert(pst);return pst->top == 0;
}
//获取数据个数
int STSize(ST* pst)
{assert(pst);return pst->top;
}

遍历字符串
遇到左括号则压栈等待右括号匹配;
遇到右括号先进行判断,首先判断栈是否为空,如果为空则不可能完成匹配,直接判定无效


上述判定不成立再进行下列判断
如果此时栈顶的数据是与右括号匹配的左括号,则出栈,否则直接判定无效(顺序不匹配)
当字符串遍历完成时,如果栈为空,则说明括号全部匹配上了;否则说明数量不匹配

 

画图举例说明: 

第一种情况:数量顺序完全匹配时

第二种情况:数量匹配,顺序不匹配时 

 

第三种情况:数量不匹配时  

 

三、代码实现 

typedef char STDatyType;
typedef struct Stack
{STDatyType* a;int top;int capacity;}ST;
//栈的初始化
void STInit(ST* pst)
{assert(pst);pst->a = NULL;pst->top = pst->capacity = 0;//top指向栈顶元素的下一个位置}
void STDestroy(ST* pst)
{assert(pst);free(pst->a);pst->a = NULL;pst->top = pst->capacity = 0;}
void STPush(ST* pst, STDatyType x)
{assert(pst);if (pst->top == pst->capacity){int newcapacity=pst->capacity==0 ? 4 : pst->capacity * 2;STDatyType* tmp =(STDatyType*)realloc(pst->a, newcapacity * sizeof(STDatyType));if (tmp == NULL){perror("ralloc fail");return;}pst->capacity = newcapacity;pst->a = tmp;}pst->a[pst->top] = x;pst->top++;
}
//出栈
void STPop(ST* pst)
{assert(pst);assert(pst->top > 0);pst->top--;
}
//得到栈顶元素
STDatyType STTop(ST* pst)
{assert(pst);assert(pst->top > 0);return pst->a[pst->top - 1];
}
//判空
bool STEmpty(ST* pst)
{assert(pst);return pst->top == 0;
}
//获取数据个数
int STSize(ST* pst)
{assert(pst);return pst->top;
}bool isValid(char* s) 
{ST st;STInit(&st);while(*s){if(*s=='('||*s=='['||*s=='{'){STPush(&st,*s);}else//为右括号{if(STEmpty(&st)){STDestroy(&st);return false;}//栈不为空STDatyType top=STTop(&st);if(*s==')'&&top!='('||*s==']'&&top!='['||*s=='}'&&top!='{'){STDestroy(&st);return false;}//匹配然后出栈STPop(&st);}s++;}if(STEmpty(&st)){STDestroy(&st);return true;}else{STDestroy(&st);return false;}
}

 

 

http://www.sczhlp.com/news/150744/

相关文章:

  • 沧州网站制作网站新版
  • 网站的备案的要多少钱静态做网站
  • 做网站 报价求个网站你懂我意思是
  • 做知乎网站要多少钱wordpress 用微信登陆
  • wordpress怎么做站群网站建设用什么开源程序好
  • 网站正在建设中单页网站开发建设需多少钱
  • seo网站课程仓库进销存软件
  • 网站开发需要学习什么技术网站建设淘宝好评
  • 关于处理大批量数据下载和查询时,怎么进行限流和熔断处理(AI)
  • 仿韩国网站源码wordpress顶部图像修改
  • 粉色网站模板wordpress链接前面的图标
  • 只做山寨的网站网站建设数据库是什么意思
  • 网站建设 锋云科技网站系统说明
  • 珠海网站制作推广公司看汽车图片的网站可以做壁纸
  • 威海德嬴网站建设网站建设费开票收候开在哪个类别里
  • docker服务器运维
  • Nginx 反向代理与负载均衡核心内容总结 - 实践
  • 厦门百度网站建设深圳网站设计公司行业
  • 网站建设需招聘什么专业人建设网站时候应该注意哪些
  • php毕业设计代做网站物联网今天正式开网
  • 家教网站怎么做顺营销官方网站
  • 如何维护网站的运营信用网站建设原则
  • 网站可以建几个人百度做自己的网站
  • 宝安网站-建设深圳信科海南网站运营托管咨询
  • 北京注册网站asp源码下载网站
  • 网站使用帮助内容湖南省公共资源交易中心
  • 工作号做文案素材的网站图片如何连接到wordpress
  • asp.net 网站 代理河源市做网站
  • 信管女生做网站开发南京小视科技是干什么的
  • 营销型网站郑州北京公司摇号中签率