c语言算法结构论文,C语言课程设计--算法与数据结构.doc

您所在位置:网站首页 > 海量文档

&nbsp>&nbsp计算机&nbsp>&nbsp数据结构与算法

7e3e25dd1884ce9b7725a69a698d5758.gif

C语言课程设计--算法与数据结构.doc20页

本文档一共被下载:2377011b61454b208b34ad77b4c31088.gif次,您可全文免费在线阅读后下载本文档。

072ad097814a33d1ad18e33ca14a5a9e.png

9ec2792a743ebdf4575ee09a03c275ea.png

7af312d1be2cfc1e59f15880bb7a7e7a.png

5f207613e329ca76dc87c76d3ff77e64.png

adf7aa3071c520b8a2063089f549261c.png

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

目 录

设计方案及实现过程******************第3页

实现代码***********************************第4页

测试******************************************第19页

难点与收获********************************第21页

设计方案及实现过程

这次课程设计要求实现无向图、有向图、无向网以及有向网的一些基本操作以及应用,大体的方案是先进入界面后,选择无向图、有向图、无向网、无向网中的一个,然后创建相应的图或者网,创建好后,在此基础上选择进行相关的操作,具体的函数放在main函数前面,通过多次函数调用已达到具体操作的实现。

流程图如下:

实现代码

#include

# include

# define maxlen 10

# define large 999

# define true 1

# define false 0

# define ok 1

# define error 0

# define overflow -2

# define null 0

typedef int status;

#include

#include

#include

#include

#include

using namespace std;

#define MAX_VERTEX_NUM 20

#define MAX 1000

typedef struct{

int a[maxlen],b[maxlen],h[maxlen];

char vexs[maxlen];

int vexnum,arcnum;

int kind;

int arcs[maxlen][maxlen];

}graph;

typedef struct node{

int adjvex;

int info;

struct node *next;

}edgenode;

typedef struct{

int id;

char data;

edgenode *link;

}vexnode;

typedef struct{

vexnode adjs[maxlen];

int vexnum,arcnum;

int kind;

}adjlist;

typedef struct qnode{

int data;

struct qnode *next;

}linkqlist;

typedef struct

{linkqlist *front;

linkqlist *rear;

} linkqueue;

typedef struct

{int stack[maxlen];

int top;

}stackstru;

int cnull=-1;

graph g;

adjlist adjl;

stackstru *t;

stackstru *s;

linkqueue *q;

graph printf_adjmatrix(graph g){

int i,j;

printf("邻接矩阵:\n");

printf("vertex\t");

for (i=0;i

printf("\n");

for(i=0;i

printf("% 4c \t",g.vexs[i]);

for(j=0;j

printf("\n");

}

return g;

}

void create_2(graph g){ //构造有向图

int i,j,k,c=0;

for (i=0;i

for(j=0;j

g.arcs[i][j]=c;

for(k=0;k

g.arcs[g.a[k]-1][g.b[k]-1]=1;

printf_adjmatrix(g);

}

void create_1(graph g){ //构造无向图

int i,j,k,c=0;

for (i=0;i

for(j=0;j

g.arcs[i][j]=c;

for(k=0;k

g.arcs[g.a[k]-1][g.b[k]-

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

c9f2bced460b0329ba0aadbbc3f0fc71.png

匿名?

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值