数据结构,图的创建宇输出求大神请老司机帮忙看看跳否这个程序怎么用

急急急急~~~~!求大神指点 图的创建 。。。_数据结构吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:20,834贴子:
急急急急~~~~!求大神指点 图的创建 。。。收藏
#define MAX_VERTEX_NUM 20#include&stdio.h&#include&stdlib.h&#include &conio.h&typedef struct ArcCell{
}ArcCell,AdjMatrix[ MAX_VERTEX_NUM][ MAX_VERTEX_NUM]; //弧的定义typedef struct{ char vexs[MAX_VERTEX_NUM];
//顶点向量
//邻接矩阵
int vexnum,
//图的当前顶点数和弧数 }MG//图的定义int LocateVex(MGraph &G,char v){ //确定v在G中的位置
for(a=0;a&G.a++)
if(G.vexs[a]==v)
}void CreateDN(MGraph &G)
//构造有向网{ int i,j,k,w; char v1,v2; //输入顶点个数和弧的条数 printf("输入顶点个数和弧的条数:\n");
scanf("%d %d",&G.vexnum,&G.arcnum); if(G.vexnum&MAX_VERTEX_NUM||G.arcnum&MAX_VERTEX_NUM*(MAX_VERTEX_NUM-1))
for(i=0;i&G.i++) {
printf("输入顶点:\n"); scanf("%c",&G.vexs[i]); } //输入顶点
for(i=0;i&G.i++) for(j=0;j&G.j++)
G.arcs[i][j].adj=9999;
for(k=0;k&G.k++) {
//输入边依附的定点和权值
printf("输入一条边依附的定点和权值:\n");
scanf("%c%c%d",&v1,&v2,&w);
i=LocateVex(G,v1);
j=LocateVex(G,v2);G.arcs[i][j].adj=w;
} }void main(){ MGraph G; CreateDN(G);}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求数据结构的程序和流程图求帮忙用C或C++实现)
求数据结构的程序和流程图求帮忙用C或C++实现) 50
实验一&& 汉诺塔问题的实现
&&& 设有三个塔座,分别为x,y,z,现在有n个直径各不相同的圆盘,并且按照直径从小到大用自然数编号为1,2,3……..n,开始时,n个圆盘按下大上小的顺序,放在塔座x上,现在要根据以下原则,将x塔座上的n个圆盘,移到子塔座上:
1、& 每次只允许移动一个圆盘从一个塔座到另一个塔座上;
2、& 移动时,可以用一个塔座作为中间塔座;
3、& 在移动过程中,任何一个塔座上,都不允许出现大圆盘压小圆盘的情况发生。
要求编程序,并打印出移动的步骤。
实验二&& 排序与查找的实现
&&& 1、编写一个程序实现冒泡排序过程,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
&&& 2、编写一个程序实现希尔插入排序过程,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
&&& 3、编写一个程序,输出在顺序表{1,2,3,4,5,6,7,8,9,10}中采用二分查找法查找关键字9的过程。
&&& 4、编写一个程序实现二叉排序树的基本运算,并在此基础上完成由{4,9,0,1,8,6,3,5,2,7}创建一棵二叉排序树并以括号表示法输出。
实验三& 栈、队列以及图论的应用
&&& 编写一个程序,实现图的相关运算,并在此基础上设计一个主程序,完成如下功能:
&&& (1)建立有向图G的邻接表,并输出。
&&& (2)输出有向图G从顶点0开始的纵向优先遍历序列(递归算法)。
1、& 实验项目的程序结构(程序中的函数调用关系图)
2、& 实验项目包含的各个文件中的函数的功能描述
3、& 算法描述或流程图
4、& 实验数据和实验结果
补充:求帮忙呀
不区分大小写匿名
对不起,这样的题目恕不回答
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号数据结构的题目,求大神用c++帮我做这题,能用vs2010运行出来就给分 实验目的及要求_百度知道
数据结构的题目,求大神用c++帮我做这题,能用vs2010运行出来就给分 实验目的及要求
后序遍历数据结构的题目,能用vs2010运行出来就给分实验目的及要求
使用二叉链表创建一棵二叉树;(2) 统计这棵二叉树的深度,并完成如下操作、结点总数、中序,求大神用c++帮我做这题;(3) 销毁这棵二叉树、叶子结点数:(1) 对这棵二叉树分别进行先序
提问者采纳
&\n&main(){&Inorder(p-&rchild);&rchild==NULL)&&&}void&nbsp,然后访问根节点;}int&&&}/zhidao/pic/item/aecb319df2a26cefc17a7,最后访问右子树&&nbsp,p-&&&&&&&#39;&nbsp:\n&&&lchild);;&lchild));&&&&scanf(&&&&printf(&&&CreateTree(&&&printf(&&&&void&&&&&&nbsp:&&&&;}void&((*p)-&printf(&&lchild);&num_node=0;rchild=(*p)-&gt://e;&(*p)-&&&&struct&&#39;&//建立左子树&&)&nbsp,然后访问右子树;&&Inorder(p-&*(*p)-&&://e;if(p==NULL)return&);&;&Postorder(tree);Postorder(pBTree&&nbsp.depth=0;&nbsp,p-&lchild=NULL.baidu:\n&;&&//防止误将空格或者换行符输入&&if(c==&#39.jpg" esrc="http.&&&p-&&&}void&//后序遍历&depth)//统计深度{&&amp,num_leaf);&&nbsp,*pBT&nbsp,int&nbsp,输入数据,p-&((*p)-&num_node++;&;&&/zhidao/wh%3D600%2C800/sign=7ba4e2de73aacb/aecb319df2a26cefc17a7;data=c;&nbsp.&nbsp.((*p)-&&nbsp,最后访问右子树&lchild);//先访问左子树;lchild);p){&//先访问左子树;&&&CreateTree(&&(*p)-&&lchild));CreateTree(&depth);&&&((*p)-&&int&&&//建立右子树}void&nbsp.&&Postorder(p-&;&&if(p-&0;&;&&&&);&);&&&)return&&%c&&printf(&&&&printf(&/zhidao/wh%3D450%2C600/sign=acccb07b09f3d7ca0caf/aecb319df2a26cefc17a7;&&printf(&&&DestoryTree(&depth=c);&&先序遍历结果;&printf(&GetDepth(&Preorder(tree);//默认输入0时到树叶&&&Preorder(pBTree&&while(c==&#39;&char&&nbsp://h;if((*p)==NULL)return&((*p)-&gt,&&lchild);&&&&nbsp,然后访问左子树;&nbsp,下图是程序运行结果//默认数据类型为&CreateTree(pBTree&printf(&//前序遍历//先访问根节点;&Sum(tree););&\n&c=&#39.&}&if(p==NULL)return&BitTree&printf(&&&rchild);DestoryTree(pBTree&&&nbsp.jpg" />//树入上图;&//叶子节点数typedef&&if((*p)==NULL)return&;&Inorder(pBTree&中序遍历结果;&GetDepth(&&;p){&nbsp,p-&&&&GetDepth(pBTree&&&&rchild).(*p)-&&&&&&&&&&&nbsp.p)//统计节点数和叶子节点数{&);&&nbsp:\n&depth);&&&&&nbsp://h;&nbsp://h;num_/zhidao/pic/item/5d6034a85edf8db11c968b210c23ddf;&&&rchild);&((*p)-&*p=(pBTree)malloc(sizeof(BTree));Preorder(p-&free(*p);&//中序遍历&tree);GetDepth(&&\n&int&&&%c深度为%d&&nbsp,*&Sum(pBTree&&rchild));&0&#39;&pBTree&&nbsp.jpg" esrc="}void&&&&nbsp.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http,depth+1);DestoryTree(&amp.h&gt,1),p-&&&nbsp.BT&nbsp://e;&&&&&%c深度为%d&Inorder(tree);&&Postorder(p-&depth);&&&);&/zhidao/wh%3D450%2C600/sign=cd7b89ee91/5d6034a85edf8db11c968b210c23ddf;//节点数int&&&p){&&Sum(p-&&.&后序遍历结果;&printf(&&&Preorder(p-&&&lchild==NULL&&&&num_leaf++,p-&&&tree);&#include&rchild));&&if(p==NULL)return&&&nbsp.h&&&&Sum(p-&*p){&nbsp,输入0表示到达叶子节点//注意二叉树建树是先序的#include&&nbsp,最后访问根节点&&char&&&&||c==&#39;&&&&nbsp.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="开始建立二叉树;&;&&if(p==NULL)return&二叉树已销毁&DestoryTree(&&;&&\n&#39;&&/zhidao/wh%3D600%2C800/sign=85eab18e043e93105cacaf5/5d6034a85edf8db11c968b210c23ddf;&&&printf(&&&&BitTree{&rchild);*p;&&&节点总数%d\n叶子节点数%d\n&&*p){&&&&&&return&printf(&&),depth+1););%c深度为%d&&nbsp,num_node<a href="http
等我回去试试,能成功运行就采纳
但是我要的是c++版的啊,你这个只改头文件能行吗?
可以,头文件改成cstdlib和cstdio
可以,头文件改成cstdlib和cstdio
不是iostream吗?
那就要改其他地方,C++也不一定都要iostream
提问者评价
来自团队:
其他类似问题
为您推荐:
vs2010的相关知识
其他1条回答
这是我在网上找的,可以作为参考
你帮我采纳就帮助你忙
怎么不把采纳啊
我也不骗子
呃,已经有人回答了……
你自己不发……
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于停车场管理系统的一个程序,求大神看看,哪里不对。_数据结构吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:20,834贴子:
关于停车场管理系统的一个程序,求大神看看,哪里不对。收藏
劳烦大家看看Outchang函数那一块,求大神指导下,代码如下:#include"stdio.h"#include"stdlib.h"#define MAX 3typedef struct { char num[10]; char band[10];}I typedef struct{
Informt data[MAX]; int front,}SSqueue S//栈的初始化typedef struct {
Informt S[MAX];}SStack St;//栈的初始化void InitStack(Stack *St){ St-&top=0;}//初始化队列void InitSqueue(Squeue *Side){ Side-&front=Side-&rear=0;}//判断栈空EmptyStack(Stack *St){ if(St-&top==0) return 1; else return 0;} //判断栈满int FullStack(Stack *St){ if(St-&top==MAX) return 1; else return 0;}//判断队列空EmptySqueue(Squeue *Side){
if(Side-&front==Side-&rear) return 1; else return 0;} //车辆进入停车场void Enterchang(Stack *St){
Informt bus[MAX];
if(FullStack(St)) printf("车库已满!请您选择进入便道区!\n");
printf("请登记进场\n");
for(i=0;i&MAX;i++)
printf("车牌号:");
scanf("%s",bus[i].num);
printf("品牌:");
scanf("%s",bus[i].band);
printf("进场时间:");
scanf("%d",&bus[i].time);
St-&S[St-&top]=bus[i];
St-&top=St-&top+1;
system("pause");} //车辆进入便道区等候void Sidestree(Squeue *Side){ Informt bus[MAX];
if(Side-&rear&MAX-1) printf("便道已满,请等候!\n"); else
{ for(i=0;i&MAX;i++) {
printf("车牌号:");
scanf("%s",bus[i].num);
printf("品牌:");
scanf("%s",bus[i].band);
printf("进场时间:");
scanf("%d",&bus[i].time);
Side-&data[Side-&rear]=bus[i];
Side-&rear=Side-&rear+1; } }
system("pause");} void Outchang(Stack *St,Squeue *Side)//出场这一块,输入你要查找的车牌号,它是不是也应该放在Informt类型中,但该怎么定义呢?我那样定义的好像不行,而且查找没结果,您能给我讲讲是怎么回事吗? {
Informt p;
printf("请输入你的车牌号:");
scanf("%s",p.num);
scanf("%s",p.band);
scanf("%d",&p.time);
while(p.num!=St-&S[St-&top].num)
St-&top--;
printf("%s",St-&S[St-&top].num);
system("pause");
}main(){ while(1) { system("cls"); printf("
停车场管理系统 \n"); printf("*********************************\n");
1、车辆进场
2、车辆出场\n"); printf("
3、进入便道等候 0、退出\n"); printf("*********************************\n"); scanf("%d",&t); switch(t) { case 1:Enterchang(&St); case 2:Outchang(&St,&Side); case 3:Sidestree(&Side); default:exit(0); } } }
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或数据结构图的遍历课程论文及程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
数据结构图的遍历课程论文及程序
深&#8203;度&#8203;、&#8203;广&#8203;度&#8203;、&#8203;递&#8203;归&#8203;、&#8203;非&#8203;递&#8203;归&#8203;、&#8203;有&#8203;向&#8203;图&#8203;、&#8203;无&#8203;向&#8203;图&#8203;、&#8203;度&#8203;的&#8203;计&#8203;算
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢}

我要回帖

更多关于 大神帮忙开通 花呗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信