edgestack.java

来自「个人学习图算法时写的源码 包括最小生成树, 最大网络流, DSF遍历, BSF」· Java 代码 · 共 37 行

JAVA
37
字号
package twf.weightedgraph.common;

import twf.weightedgraph.Edge;

public class EdgeStack {
    private int capacity, cur;
    private Edge[]edge;
	public EdgeStack(int maxN) {
    	this.capacity = maxN;
    	edge = new Edge[maxN];
    }
	public boolean empty() {
		return cur == -1;
	}
	public void push(Edge e) {
		if (cur + 1 >= capacity) {
			Edge[] ee = new Edge[capacity*2];
			for (int i = 0; i < capacity; i++) ee[i] = edge[i];
			edge = ee;
			capacity *= 2;
		}
		edge[++cur] = e;
	}
	public Edge pop() {
		if(cur == -1) {
			throw new RuntimeException("Emty stack!");
		}
		return edge[cur--];
	}
	public Edge top() {
	    if (cur == -1) {
	    	throw new RuntimeException("Empty stack!");
	    }
	    return edge[cur];
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?