您当前的位置: 首页 >  Java

wespten

暂无认证

  • 1浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java开发经验-面向接口编程中迭代器的妙用

wespten 发布时间:2019-05-26 02:57:29 ,浏览量:1

java开发经验-面向接口编程中迭代器的妙用

使用接口进行编程

定义接口

/**
 * 5:36:11 5:37:02 5:37:15 5:37:45 6:19:54 6:21:04 6:22:22 6:23:04 
 * @author Administrator
 * 访问权限   类   包  	子类  	其他包	描述

    public     ∨   	∨   	∨     	∨	其它楼房的人也能用我, 外星人不能用我

    protect    	∨   	∨   	∨     ×	只有我自己和与我住在同一个楼房里的人以及我的子孙能用我

    default    	∨   	∨   	×    	×	只有我自己和与我住在同一个楼房里的人能用我

    private    	∨   	×  	 ×   ×	只有我自己可以用我
 *
 */
public interface Graph {
    public int V();
    public int E();
    public void addEdge(int v,int w);
    void show();
    public boolean hasEdge(int v,int w);
	public Iterable adj(int v);
}

通过定义迭代器对邻接矩阵和邻接表图的遍历操作进行了统一

邻接矩阵实现Graph

public class DenseGraph implements Graph{
	private int[][] map;
	private int N;
	private int M;
	private boolean isdirected;
		

public DenseGraph (int n,  boolean isdirected) {
		super();
		map = new int[N][N];
		N = n;
		M = 0;
		this.isdirected = isdirected;
	}
@Override
public int V() {
	// TODO Auto-generated method stub
	return N;
}
@Override
public boolean hasEdge(int v, int w) {
	// TODO Auto-generated method stub
	if(map[v-1][w-1]!=0) return true;
	return false;
}
@Override
public Iterable adj(int v) {
	// TODO Auto-generated method stub
	List list = new ArrayList();
	for(int i=0;i            
关注
打赏
1665965058
查看更多评论
0.0378s