数据结构与算法分析语言平衡符号
来源:互联网 发布:台湾直播软件 编辑:程序博客网 时间:2024/06/07 05:55
/*语言平衡符号*/
#include <stdio.h>
#include <stdlib.h>
#include "three18.h"
//建栈
Stack CreateStack()
{
Stack s;
s=(Stack)malloc(sizeof(struct Node));
if(s==NULL)
{
printf("error");
return NULL;
}
s->next=NULL;
return s;
}
//出栈,弹出栈顶元素
char PopTop(Stack s)
{
Position p;
char ch;
if(s->next==NULL)
{
printf("error");
return NULL;
}
else
{
p=s->next;
ch=p->c;
s->next=s->next->next;
free(p);
}
return ch;
}
//入栈
void Push(Stack s,char c)
{
Position p;
p=(Position)malloc(sizeof(struct Node));
if(p==NULL)
{
printf("error");
return ;
}
else
{
p->c=c;
p->next=s->next;
s->next=p;
}
}
main()
{
Stack s=CreateStack();
char ch;
while((ch=getchar())!='#')
{
if(ch=='{'||ch=='['||ch=='(') /*开放符号*/
Push(s,ch);
else if(ch=='}'||ch==']'||ch==')')
{
if(s->next==NULL)
{
printf("error...");
return ;
}
else{
switch (ch)
{
case '}':
if(PopTop(s)!='{')
printf("不匹配..");
break;
case ']':
if(PopTop(s)!='[')
printf("不匹配....");
break;
case ')':
if(PopTop(s)!='(')
printf("不匹配.......");
break;
}
}
}
}
if(s->next==NULL)
{
printf("sucess");
}
else
printf("不匹配\\\\\\\\");//有多余不能配成一对的符号
}
#include <stdio.h>
#include <stdlib.h>
#include "three18.h"
//建栈
Stack CreateStack()
{
Stack s;
s=(Stack)malloc(sizeof(struct Node));
if(s==NULL)
{
printf("error");
return NULL;
}
s->next=NULL;
return s;
}
//出栈,弹出栈顶元素
char PopTop(Stack s)
{
Position p;
char ch;
if(s->next==NULL)
{
printf("error");
return NULL;
}
else
{
p=s->next;
ch=p->c;
s->next=s->next->next;
free(p);
}
return ch;
}
//入栈
void Push(Stack s,char c)
{
Position p;
p=(Position)malloc(sizeof(struct Node));
if(p==NULL)
{
printf("error");
return ;
}
else
{
p->c=c;
p->next=s->next;
s->next=p;
}
}
main()
{
Stack s=CreateStack();
char ch;
while((ch=getchar())!='#')
{
if(ch=='{'||ch=='['||ch=='(') /*开放符号*/
Push(s,ch);
else if(ch=='}'||ch==']'||ch==')')
{
if(s->next==NULL)
{
printf("error...");
return ;
}
else{
switch (ch)
{
case '}':
if(PopTop(s)!='{')
printf("不匹配..");
break;
case ']':
if(PopTop(s)!='[')
printf("不匹配....");
break;
case ')':
if(PopTop(s)!='(')
printf("不匹配.......");
break;
}
}
}
}
if(s->next==NULL)
{
printf("sucess");
}
else
printf("不匹配\\\\\\\\");//有多余不能配成一对的符号
}
阅读全文
0 0
- 数据结构与算法分析语言平衡符号
- 数据结构与算法分析 c++11 练习3.21 检测平衡符号
- 数据结构与算法分析之AVL平衡树
- 数据结构与算法分析 c++ 平衡二叉树 AvlTree
- 数据结构与算法分析之平衡二叉树的建立
- python数据结构与算法 6栈的应用之符号平衡(通用)
- 数据结构与算法分析 java语言描述
- 数据结构与算法分析笔记与总结(java实现)--二叉树13:平衡二叉树
- C语言-数据结构-二叉排序树与平衡树算法实现及演示
- 数据结构算法与分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 《数据结构与算法分析》
- CentOS7下Tomcat9.0.1的开机启动
- Docker的常用命令使用
- Linux三个网络监视器之《三》——vnstat
- Ubuntu 中anaconda为jupyter添加kernel
- php获取网站内容(file_get_contents)
- 数据结构与算法分析语言平衡符号
- 五十个小技巧提高PHP执行效率
- Android屏蔽HOME键亲测可用
- office各种文件转图片
- Hive+mysql安装
- ionic命令行快速修改图标和启动页
- 详解MySQL大表优化方案
- 你知道到底什么才是 Valhalla 项目么?
- 正则表达式