数据结构实验二树的应用_第1页
数据结构实验二树的应用_第2页
数据结构实验二树的应用_第3页
数据结构实验二树的应用_第4页
数据结构实验二树的应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构实验二 树的应用(代码&测试界面)/Cosmetics_Info.h#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct /化妆品信息的结构体char brandname10; /品牌名 double price; /价格 datatype;typedef struct node /二叉排序树链表的结点结构 datatype data; /结点信息 struct node *lchild, *rchild; /指向左孩子与右孩子的指针 bintnode;

2、typedef bintnode *bintree; /结点指针类型 bintree root; /指向二叉树根结点的指针void InsertBintree(bintree *t, datatype addnode) /创建新结点 bintree f = NULL, p = *t; /p指向根结点 while(p) /每次从根结点开始比较,查找插入位置if ( strcmp(addnode.brandname,p->data.brandname)=0&&addnode.price=p->data.price )printf("已录入该化妆品信息,本次录入

3、无效!n");return;/若二叉排序树中已含addnode,则无需插入,ruturn退出函数 f = p; /f用于保存新结点的最终插入位置p = (addnode.price) < (p->data.price)? p->lchild:p->rchild; p=(bintree)malloc(sizeof(bintnode); /生成待插入的新结点 p->data=addnode; /将新结点加到树上 p->lchild=p->rchild=NULL;if(*t=NULL) *t=p; /原树为空,将值赋值给根结点 else if(ad

4、dnode.price<f->data.price) f->lchild=p;else f->rchild=p; bintree CreatBintree() /创建二叉排序树链表 bintree t = NULL;datatype addnode; /录入化妆品信息 printf(""end","-1"为结束标记:n");scanf("%s",addnode.brandname);scanf("%lf",&addnode.price);while(strcmp(

5、addnode.brandname,"end")!=0)|(addnode.price!=-1)InsertBintree(&t,addnode); /将addnode插入二叉排序树 scanf("%s",addnode.brandname);scanf("%lf",&addnode.price);printf("化妆品信息二叉排序树建立成功!n"); return t; /返回二叉排序树的根地址 void inorder(bintree t) /递归实现二叉树中序遍历输出 if(t) inorde

6、r(t->lchild); printf("tt 品牌名:%s ",t->data.brandname); printf("t价格:%g元n",t->data.price); inorder(t->rchild); /main.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include "Cosmetics_Info.h" int main() int s=1;int set;while(s) print

7、f("ttn");printf("tt简单化妆品信息处理系统n");printf("ttn");printf("tt 1.录入化妆品信息 n");printf("tt 2.输出化妆品信息 n");printf("tt 3.退出系统 n");printf("ttn");printf("选择操作:");scanf("%d",&set);switch(set)case 1:root=CreatBintree();break;case 2:printf("化妆品品牌价格一览表(价格从低到高):n");printf("ttn"); inorder(root);printf("ttn");break;case 3:s=0;printf("t系统退出成功!n");break;default:printf("无该选项对应的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论