数据结构课程设计报告

发布 2022-10-05 18:59:28 阅读 2607

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 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...