1. Java / Говнокод #9193

    +70

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    public class Brakets {
    	public static void main(String args[]) {
    		String sample;
    		if (args.length > 0 && args[0] != "")
    			sample = args[0];
    		else
    			sample = "asdf(sd{sd}sdfgs[sdfg{}]_)){}sdfg[sdfg{sdfg}]";
    		// init handler and add patterns
    		BracketHandler b = new BracketHandler();
    		b.add("[", "]");
    		b.add("{", "}");
    		b.add("[", "]");
    		b.add("(", ")");
    
    		// init input stack
    		CommonStack<BracketTemplate> result = new CommonStack<BracketTemplate>();
    
    		for (int i = 0; i < sample.length(); i++) {
    			// Assert that pattern is one characted length
    			String subString = sample.substring(i, i + 1);
    			BracketTemplate tmp = b.getTemplate(subString);
    			if (tmp != null) {
    				if (tmp.isStartPattern(subString)) {
    					result.push(tmp);
    				} else {
    					BracketTemplate t = result.pop();
    					if (t == null || !t.isEndPAttern(subString)) {
    						System.out.print("Check failed");
    						return;
    					}
    				}
    
    			}
    		}
    		System.out.print("Check passed");
    	}
    }

    Ещё одна реализация Brackets, теперь и на Java (от автора предыдущего класса стека)

    Запостил: varg242, 21 Января 2012

    Комментарии (6) RSS

    Добавить комментарий