课程设计首页 课程设计首页 数据结构课程设计 数据结构课程设计 C语言课程设计 C语言课程设计 电子课程设计 电子课程设计 微机原理课程设计 微机原理课程设计 机械设计课程设计 机械设计课程设计 软件工程课程设计 软计工程课程设计 平面设计课程设计 平面设计课程设计 单片机课程设计 单片机课程设计  课程设计报告 课程设计报告 课程设计心得体会 课程设计心得体会
           
课程设计栏目热门文章
·数据结构课程设计_哈夫曼
·学生成绩管理系统(c语言)
·图邻接矩阵 邻接表的建立c
·图书管理系统c++版_数据结
·通讯录(c++)_数据结构课
·稀疏矩阵运算器数_据结构
·停车场管理器_数据结构课
·航班_数据结构课程设计 我
·数据结构的课程设计总结
·成绩管理系统c语言版
·数据结构课程设计_赫夫曼
·数据结构课程设计_校园导
·数据结构课程设计_迷宫问
·数据结构课程设计_算术表
·数据结构课程数据_飞机订
·数据结构课程设计_单链表
·数据结构课程设计_图的遍
·数据结构课程设计_Huffman
·数据结构课程设计_用静态
·数据结构课程设计_成绩管
·数据结构课程设计_joseph
·数据结构课程设计_文本编
·数据结构课程设计_迷宫问
·数据结构课程设计_拓扑排
当前位置:首页>数据结构课程设计> 正文
数据结构课程设计_最小生成树kruskal算法
文章发布:课程设计网 发布时间:2006-11-21

/*
Name:最小生成树kruskal算法
Author:wujilin
Description:用邻接矩阵做图
Date: 21-07-06 23:07
Copyright:wujilin
*/

#include<stdio.h>
#include<stdlib.h>
#define M 20
#define MAX 20

typedef struct
{
int begin;
int end;
int weight;
}edge;

typedef struct
{
int adj;
int weight;
}AdjMatrix[MAX][MAX];

typedef struct
{
AdjMatrix arc;
int vexnum, arcnum;
}MGraph;
void CreatGraph(MGraph *);//函数申明
void sort(edge* ,MGraph *);
void MiniSpanTree(MGraph *);
int  Find(int *, int );
void Swapn(edge *, int, int);
void CreatGraph(MGraph *G)//构件图
{
int i, j,n, m;

printf("请输入边数和顶点数:");
scanf("%d %d",&G->arcnum,&G->vexnum);

for (i = 1; i <= G->vexnum; i++)//初始化图
{
for ( j = 1; j <= G->vexnum; j++)
{
G->arc[i][j].adj = G->arc[j][i].adj = 0;
}
}

for ( i = 1; i <= G->arcnum; i++)//输入边和权值
{
printf("\n请输入有边的2个顶点");
scanf("%d %d",&n,&m);
while(n < 0 || n > G->vexnum || m < 0 || n > G->vexnum)
{
printf("输入的数字不符合要求 请重新输入:");
scanf("%d%d",&n,&m);
}

G->arc[n][m].adj = G->arc[m][n].adj = 1;
getchar();
printf("\n请输入%d与%d之间的权值:", n, m);
scanf("%d",&G->arc[n][m].weight);
}

printf("邻接矩阵为:\n");
for ( i = 1; i <= G->vexnum; i++)
{
for ( j = 1; j <= G->vexnum; j++)
{
printf("%d ",G->arc[i][j].adj);
}
printf("\n");
}
}


共2页: 上一页 1 [2] 下一页

上一篇:数据结构课程设计_约瑟夫环   下一篇:C语言课程设计_二叉树演示源程序
COPYRIGHT© 2006-2008 WWW.UT365.COM ONLINE SERVICES. ALL RIGHTS RESERVED. 鲁ICP备05047946号