关于c语言的一些例子(给大企鹅的)
来源:互联网 发布:网络硬盘刻录机 编辑:程序博客网 时间:2024/06/08 10:48
拓扑排序的C语言的源代码:
# include
# include
# define M 30
# define PR printf
# define SC scanf
typedef struct ArcNode
{int adjvex;
struct ArcNode *nextarc;
}ArcNode,*Anode;
typedef struct VexNode
{int data;
int indegree;
struct ArcNode *firstarc;
}VexNode,*Vnode,G[M];
typedef struct Lnode
{int data;
struct Lnode * next;
} Lnode,*Link;
Link L=NULL;
void Push(int r)
{ Link q;
q=(Link)malloc(sizeof(Lnode));
q->data=r; q->next=L; L=q;
}
char Pop(int r)
{ Link p;
if (L!=NULL)
{p=L;L=L->next;r=p->data;
free(p); return r;}
else return -1;
}
void CreatGraph(G g,int n)
{ int i,j; Vnode q; Anode p;
for(i=1;i<=n;i++)
{g[i].data=i;
g[i].indegree=0;
g[i].firstarc=NULL;
}
printf("input the edge:i,j/n");
scanf("%d,%d",&i,&j);
while(i!=0)
{ p=(Anode)malloc(sizeof(ArcNode));
p->adjvex=j;
p->nextarc=g[i].firstarc;
g[i].firstarc=p;
g[j].indegree++;
scanf("%d,%d",&i,&j);
}
}
void PrintGraph(G g,int n)
{int i; Anode p;
PR("/nAdjacency List Graph:/n");
printf("vexnode indgree adjvex/n");
for(i=1;i<=n;i++)
{PR("vex[%d]:[%d]",g[i].data,g[i].indegree);
p=g[i].firstarc;
while(p)
{PR("-->[%d]",p->adjvex);
p=p->nextarc;}
PR("/n");
}
}
int TopSort(G g,int n)
{Anode p; int i,k,count=0;
for(i=1;i<=n;i++)
if(g[i].indegree==0) Push(i);
PR("/nAfter the TopSort/n:");
while(L)
{i=Pop(i);
PR("%d/n",g[i].data);count++;
for(p=g[i].firstarc; p; p=p->nextarc)
{k=p->adjvex;
if((--g[k].indegree)==0) Push(k);}
}
if(count
void main()
{G g; int n; clrscr();
PR("Input the numbers of node:");
SC("%d",&n);
CreatGraph(g,n);
PrintGraph(g,n);
TopSort(g,n);
}
大企鹅,以后我们就可以联系了!
- 关于c语言的一些例子(给大企鹅的)
- 请给我一些c语言的例子。
- C语言一些有趣的现象(例子) (译)
- 关于Linux(企鹅)的那些事
- 关于递归算法的几个例子(C语言)
- c语言-一些学习c的经典例子
- 关于c语言的一些问题
- 一些关于C语言的总结
- 一些关于C语言的总结
- 关于C语言的一些零碎知识
- 关于c语言static的一些细节
- 那些关于C语言的一些事
- 关于C语言标准的一些总结
- 关于C语言的一些标准
- C语言关于内存的一些描述
- (c语言总结)关于一些简单的区别
- 【C语言】一些关于二进制位的一些题题目哦。
- 一些关于sizeof的例子
- 2004.8.16
- 使用ASP调用WebService时要注意的问题(修正)
- 关于sql server中,建视图的语句中不能加order by的问题
- 使用CreateFile, ReadFile, WriteFile在Windows NT/2000/XP下读写绝对扇区的方法
- Luckyfox的新生活
- 关于c语言的一些例子(给大企鹅的)
- My Bridge in C#
- My Composite in C#
- 管理的理解 概述(-)
- 即将发表创建型模式论文敬请关注
- Better, Faster, Lighter Programming in .NET
- 吸血鬼简史
- 给年轻工程师的十大忠告
- 高手箴言