数据结构课程设计

发布 2022-10-01 21:16:28 阅读 3862

课题名称。

一.计算器模拟。

问题描述。对包含加、减、乘、除、括号运算符的任意整型表达式进行求解。

设计思路。这个程序的关键点是利用栈结构将输入的中缀表达式转化成后缀表达式,同时计算后缀表达式结果并输出,在这一过程中需要将连续的几个操作数化成一个操作数并入栈。

数据结构定义。

#define maxsize 100

typedef struct node /*顺序栈*/

int data[maxsize];

int top;

seqstack,*pseqstack;

功能函数设计

1. 判断是否为操作数isnum(char c)

在入栈前判断字符是否为操作数。

2. 定义每个算术符的优先级priority(char op)

定义运算符的优先级。

3. 中缀转后缀infix_exp_value(char *infixexp,char *postfixexp)

将用户输入的中缀表达式转化成后缀表达式,以方便后续的计算,其中利用。

4. 计算后缀postfix_exp(char *a)

5. 主函数main()

编码实现。int isnum(char c)//判断是否为操作数。

if(c>='0'&&c<='9')

return(1);

elsereturn(0);

int priority(char op)//定义每个算术符的优先级。

switch(op)

int infix_exp_value(char *infixexp,char *postfixexp)//中缀转后缀。

pseqstack s;

char c,w,topelement;

int f=1;

s=init_seqstack();

if(!s)

push_seqstack(s,'#

w=*infixexp;

while((gettop_seqstack(s,&c),c)!=#'||w!='#else

*postfixexp='#

*(+postfixexp)='0'; 添加字符串结束符号*/

destroy_seqstack(&s); 销毁栈*/

return(1);

double postfix_exp(char *a) /计算后缀。

pseqstack s;

int result ,a,b,c,d,f;

char ch;

f=1;ch=*a++;

s=init_seqstack();

while(ch!='#

ch=*a++;

gettop_seqstack(s,&result);

destroy_seqstack(&s);

return result;

void hy()

printfn");

printfn");

printfn");

printf欢迎使用计算器模拟器n");

printfn");

printfn");

printfn");

int main()/main函数。

char in[100],post[100],a;

int s;

while(1)

运行与测试。

1加。2减。

3乘。4除。

5综合。二。学生成绩查询系统。

问题描述。试编写程序完成学生成绩记录的查询。

若按学号进行顺序查找,例如:输入99070101,则输出98.6;

按学号排序后进行折半查找;

随机输入以学号为关键字的学生信息并建构二叉排序树,对学号进行二叉排序树查找。

程序框架。设计思路。

学生信息包括学号、姓名、分数,所以新建一个结构体student

顺序查找只需建一个结构体数组,以学号为关键字进行查找;

折半查找要保证数组是按学号进行排序过的,然后在数据中间进行查找,若目标学号小于中间值,则对前半部分重复上述操作,反之,则对后半部分进行重复操作;

二叉树查找,需在文件中插入标志数据,然后将文件中的数据输入二叉树中,标志数据处,输入空值,然后对二叉树进行先序遍历查找。

编码实现。#include""

#include""

#include""

#define maxsize 30

int o = 0;

int u = 0;

int sign = 1;

int sign_tree;

typedef struct node

return i;

int input_tree(student c)从文件导入。

int i=0;

file *fp;

fp = fopen(""r");

while(c[i-1].num!=0)

return i;

void seq_search(student c,int length,int goal)//按学号进行顺序查找。

int i;

for(i=0;i

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...