- 博客(1)
- 资源 (2)
- 收藏
- 关注
原创 用starUML画出自己项目的类图
一只菜鸟的简陋UML类图(class diagram)由于我们这个学期要完成自己的一个小项目,所以就开始了我的UML学习旅程,其实主要就是在网上查看一些画图所要注意的规范,也就是你需要大致合理且准确地用上starUML左边工具栏那些箭头和框框。比如,我们班的同学在类图的时候,我发现他们对于聚合,组合,依赖,泛化等的定义并不是很明确。其实我觉得这些倒是很重要的,我们老师反复强调,我们设计与开发一
2015-12-02 20:22:18 14840
图的两种遍历
void CreateGraph Graph graph 图的创建图
{
ENode p q e;
int i;
cout<<"请输入连通无向图的顶点数和边数 例如 3 3: n";
scanf "%d %d" &graph >numberOfVerts &graph >numberOfEerts ;
for i 1;i< graph >numberOfVerts;i++
{
cout<<"请输入第"<<i<<"个顶点的信息: n";
cin>>graph >amlist [i] data;
graph >amlist [i] number i;
graph >amlist[i] firstedge NULL;
graph >amlist [i] mark 0;
}
for i 1;i< graph >numberOfEerts;i++
{
p ENode malloc sizeof ENode ;
cout<<"请输入每条边的信息(编号小的在前 例如1 3回车1 2回车2 3) n";
cin>>p >ivex>>p >jvex;
p >ilink p >jlink NULL;
if graph >amlist [p >ivex ] firstedge NULL
graph >amlist [p >ivex ] firstedge p;
else
{
q graph >amlist [p >ivex ] firstedge ;
while q NULL
{
e q;
if q >ivex p >ivex
q q >ilink ;
else
q q >jlink ;
}
if e >ivex p >ivex
e >ilink p;
else
e >jlink p;
}
if graph >amlist [p >jvex ] firstedge NULL
graph >amlist [p >jvex ] firstedge p;
else
{
q graph >amlist [p >jvex ] firstedge ;
while q NULL
{
e q;
if q >ivex p >ivex
q q >ilink ;
else
q q >jlink ;
}
if e >ivex p >ivex
e >ilink p;
else
e >jlink p;
}
}
}
void SetMark Graph graph 设置访问标记
{
int i;
for i 1;i< graph >numberOfVerts ;i++
graph >amlist [i] mark 0;
}
void DFS Graph graph int v 深度遍历
{
ENode p;
cout<<v<<" ";
graph >amlist [v] mark 1;
p graph >amlist [v] firstedge ;
while p NULL
{
if p >ivex v
{
if graph >amlist [p >jvex ] mark 0
{
cout<<"<"<<p >ivex<<" "<<p >jvex<<">"<<endl;
DFS graph p >jvex ;
}
p p >ilink ;
}
else
{
if graph >amlist [p >ivex] mark 0
{
cout<<"<"<<p >jvex<<" "<<p >ivex<<">"<<endl;
DFS graph p >ivex ;
}
p p >jlink ;
}
}
}">void CreateGraph Graph graph 图的创建图
{
ENode p q e;
int i;
cout<<"请输入连通无向图的顶点数和边数 例如 3 3: n";
scanf "%d %d" &graph >numberOfVerts &graph >numberOfEerts ;
for i 1;i< graph >numberOfVerts;i++
{
cou [更多]
2015-01-16
打印二叉树结构
void printree1(binnode *subroot)//采用RVL遍历方法
{
stack<binnode*> stack;
int k=0,m=0,n=0,ans=0;
int layer[10];
binnode* p=subroot;
while(!stack.empty()||p)
{
if(p)
{
stack.push(p);
p=p->rc;
}
else
{
p=stack.top();
level(subroot,p->data,ans);
for(int i=0;i<pow(2,ans);i++)
cout<<" ";
cout<<p->data<<endl;
stack.pop();
p=p->lc;
}
}
}
2014-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人