Java认证考试:拓扑排序的java实现
2013-10-08 17:06
197 查看
import java.util.*;
public class TopologicalSortTest
{
public static void main(String[] args)
{
int[][]
graph={{0,1,2,3,},{2,},{1,1,4,},{2,4,},{3,},{0,3,4,},};
int[] list=new int[graph.length];;
TopologicalSort topologicalSort=new TopologicalSort();
topologicalSort.input(graph);
list=topologicalSort.getList();
for(int l : list){
System.out.print(l+“ ”);
}
}
}
class TopologicalSort
{
int[][] graph;
int[] list;
void input(int[][] graph)
{
this.graph=graph;
list=new int[graph.length];
calculate();
}
void calculate()
{
Stack stack=new Stack();
for(int i=0; i
if(graph[i][0]==0){
stack.push(i);
}
}
int i=0;
while(stack.empty()!=true){
list[i]=(Integer)stack.pop();
for(int j=1; j
int k=graph[list[i]][j];
if((--graph[k][0])==0){
stack.push(k);
}
}
i++;
}
if(i
System.out.println(“存在环,不可排序!”);
System.exit(0);
}
}
int[] getList()
{
return list;
}
}
运行结果:
5 0 3 2 4 1
相关文章推荐
- 关于OAuth2.0认证的理解和java实现
- java实现 SSL双向认证
- DB2 9 运用开发(733 考试)认证指南,第 7 局部: Java 编程(2)
- java实现一个学生的一张考试成绩单
- SSL双向认证Java实现 Tomcat篇
- java实现微信认证请求URL连接超时问题解决了,鸡冻啊
- SSL双向认证的java实现
- 第三次CCF计算机软件能力认证考试题解(Java)--201412--最优灌溉--100分通过
- Java 实现 SSH 协议的客户端登录认证方式--转载
- SSL双向认证java实现
- 第四次CCF计算机软件能力认证考试题解(Java)--201503--节日--100分通过
- Java实现AD域登录认证
- DB2 9 运用斥地(733 考试)认证指南,第 7 局部: Java 编程(1)
- QQ群-C#, Java, 国家软件水平考试认证
- PTA 5-8 哈利波特的考试 (Java实现)
- SSL双向认证java实现
- 9月18日云栖精选夜读:「阿里巴巴编码规范(Java版)」认证考试出炉!你考过了吗?
- Java对PHP服务器hmac_sha1签名认证方法的匹配实现
- hdu1285 拓扑排序 java实现
- sun认证考试的java基础你能做对多少(2)