private void yhdistaKeot(Binomikeko b) { BinomiMerge(b); if (this.head == null) { return; } BinomiNode prevX = null; BinomiNode x = this.head; BinomiNode nextX = x.getSisar(); while (nextX != null) { if (x.getAste() != nextX.getAste() || (nextX.getSisar() != null && nextX.getSisar().getAste() == x.getAste())) { prevX = x; x = nextX; } else if (x.getArvo() <= nextX.getArvo()) { // x:n ja nextx:n asteet samat x.setSisar(nextX.getSisar()); nextX.Yhdista(x); } else { if (prevX == null) { this.head = nextX; } else { prevX.setSisar(nextX); } x.Yhdista(nextX); x = nextX; } nextX = x.getSisar(); } }