没有合适的资源?快使用搜索试试~ 我知道了~
计算命题公式的真值 数据结构
4星 · 超过85%的资源 需积分: 32 30 下载量 149 浏览量
2009-06-30
21:05:52
上传
评论 4
收藏 8KB TXT 举报
温馨提示
试读
10页
所谓命题演算公式是指由逻辑变量(其值为TRUE或FALSE)和逻辑运算符AND、OR、NOT按一定规则所组成的公式(蕴含之类的运算可以用与或非来表示)。公式运算的先后顺序为非、与、或,而括号()可以改变优先次序。已知一个命题演算公式及各变量的值,要求设计一个程序来计算公式的真值.
资源推荐
资源详情
资源评论
#include <stdio.h>
#include <malloc.h>
#include <string.h>
typedef struct
{char fuhao[100];
int top;
}SeqStack;//定义符号结构体
typedef struct Node
{ char data[100]; //数据域
struct Node *leftChild; //左子树指针
struct Node *rightChild; //右子树指针
struct Node *father;//根结点指针
}BiTreeNode;//结点的结构体定义
typedef struct
{
BiTreeNode * dizhi[100];
int top;
}SeqStack1; //定义结点结构体
void StackInitiate(SeqStack *S)//初始化符号顺序堆栈s,栈底为$
{
S->fuhao[0]='$';
S->top = 1; //定义初始栈顶下标值
}
void StackPush(SeqStack *S,char x) //入栈,把x压入顺序堆栈
{
S->fuhao[S->top] = x ;
S->top++;
#include <malloc.h>
#include <string.h>
typedef struct
{char fuhao[100];
int top;
}SeqStack;//定义符号结构体
typedef struct Node
{ char data[100]; //数据域
struct Node *leftChild; //左子树指针
struct Node *rightChild; //右子树指针
struct Node *father;//根结点指针
}BiTreeNode;//结点的结构体定义
typedef struct
{
BiTreeNode * dizhi[100];
int top;
}SeqStack1; //定义结点结构体
void StackInitiate(SeqStack *S)//初始化符号顺序堆栈s,栈底为$
{
S->fuhao[0]='$';
S->top = 1; //定义初始栈顶下标值
}
void StackPush(SeqStack *S,char x) //入栈,把x压入顺序堆栈
{
S->fuhao[S->top] = x ;
S->top++;
}
void StackPop(SeqStack *S,char *x)//出栈,弹出堆栈s的栈顶元素值到参数x
{
S->top--;
*x = S->fuhao[S->top];
}
int StackTop(SeqStack S,char *d)//取栈顶数据元素值到参数d成功返回1,否则返回0
{
if(S.top<=0)
{
printf("堆栈已空!\n");
return 0;
}
else
{
*d=S.fuhao[S.top-1];
return 1;
}
}
void Initiate(BiTreeNode **root)//初始化创建二叉树的头结点
{
*root = (BiTreeNode * ) malloc(sizeof(BiTreeNode));
(*root)->leftChild=NULL;
(*root)->rightChild=NULL;
(*root)->father=NULL;
}
void StackInitiate1(SeqStack1 *S)//初始化指针结点堆栈s1
void StackPop(SeqStack *S,char *x)//出栈,弹出堆栈s的栈顶元素值到参数x
{
S->top--;
*x = S->fuhao[S->top];
}
int StackTop(SeqStack S,char *d)//取栈顶数据元素值到参数d成功返回1,否则返回0
{
if(S.top<=0)
{
printf("堆栈已空!\n");
return 0;
}
else
{
*d=S.fuhao[S.top-1];
return 1;
}
}
void Initiate(BiTreeNode **root)//初始化创建二叉树的头结点
{
*root = (BiTreeNode * ) malloc(sizeof(BiTreeNode));
(*root)->leftChild=NULL;
(*root)->rightChild=NULL;
(*root)->father=NULL;
}
void StackInitiate1(SeqStack1 *S)//初始化指针结点堆栈s1
剩余9页未读,继续阅读
资源评论
- zjbn01012020-04-17还行,但是百度文库里就有,唉!
- qq_282261932015-07-10好用的。并且正确无误。自己学习看看。
yangjianhong58
- 粉丝: 2
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功