p->data=c;
p->left=p->right=null;
t->right=p;
else sort(t->right,c);
if(cdata)
if(t->left==null)
p=(dnode *)malloc(sizeof(dnode));
p->data=c;
p->left=p->right=null;
t->left=p;
else sort(t->left,c);
dnode *creat()
dnode *ht;
int x;
ht=(dnode *)malloc(sizeof(dnode));
printf("创建一个排序树:")
scanf("%d",&x);
ht->data=x;
n++;ht->left=ht->right=null;
scanf("%d",&x);
while(x>0)
return ht;
void inorder(dnode *t)if(t!=null)
void asl()
float w;
w=(float)total/n;
printf("n:%d,total:%d,asl:%3.2f",n,total,w);
void find(dnode *b,int x,dnode *a)dnode *stack[maxsize],*p;
int top;
a[1]=null;
if(b!=null)
a[0]=p;
dnode *del(dnode *t)
dnode *p,*q,*s,*f,*a[2];
int flag=0,x;
p=(dnode *)malloc(sizeof(dnode));
f=(dnode *)malloc(sizeof(dnode));
printf("输入x:")
scanf("%d",&x);
find(t,x,a);
p=a[0];f=a[1];
if(p==null)
if(p->left==null)s=p->left;
elseif(q==p)q->left=s->left;
else q->right=s->left;
p->data=s->data;
free(s);
flag=1;
if(flag==0)
return t;
main()
dnode *h;
n=m=total=0;
h=creat();
printf("中序遍历为:")
inorder(h);
printf("");
asl();
h=del(h);
inorder(h);
getch();
2.1 问题描述(10.2.7)
自选存储结构,实现对图的操作。
2.2 基本要求。
1). 输入含n个顶点和e条边的图g。
2). 求每个顶点的度,输出结果。
3). 深度和广度的遍历。
2.3 源**。
#define null 0
#define maxsize 18数组的最大元素个数*/typedef struct node定义一个结点*/int data数据域*/
struct node *nextnext指向下一个结点*/dnode;
typedef struct定义一个含有顶点的结构体*/int vex;
dnode *first指向第一个结点*/node;typedef struct
node array[maxsize定义一个邻接矩阵的数组array[maxsize]*/
int numnum是指顶点的个数*/
graph;
int visit[maxsize];
graph creat创建一个无向图*/
graph a建立一个无向图a*/
dnode *p;
int i,x,y,e定义变量*/
printf("请输入该图的顶点数v和边数escanf("%d%d",&输入顶点数和边数*/for(i=1;i<=
for(i=1;i<=e;i当小于边数e时*/printf("输入第%d条边相邻的顶点 e[%d]:"i,i);
scanf("%d%d",&x,&y输入相邻的顶点*/p=(dnode *)malloc(sizeof(dnode));
p->data=y;
p->next=
p=(dnode *)malloc(sizeof(dnode));
p->data=x;
p->next=
return a;
void qiudu(graph a求无向图a的结点的度数*/dnode *p;
int i,k定义变量k统计度数*/
for(i=1;i<=
printf("\t%d顶点的度数是: %d",}void clean(int visit清空访问数组visit*int i;
for(i=1;i<=maxsize;i++)visit[i]=0;
void dfs(graph a,int v深度遍历无向图a*/dnode *p;
printf("%d",visit[v]=1;
p=while(p!=null)
void bfs(graph a,int v广度遍历无向图a*/dnode *p;
int quee[maxsize],front,bare;
front=bare=0;
printf("%d",v);
visit[v]=1;p=do
if(front else
front++;p=
数据结构课程设计报告
东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...
数据结构课程设计报告
设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...
数据结构课程设计报告
河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...