{"id":1293,"date":"2016-08-28T21:08:38","date_gmt":"2016-08-28T18:08:38","guid":{"rendered":"http:\/\/java.mazurok.com\/?p=1293"},"modified":"2016-09-19T17:57:48","modified_gmt":"2016-09-19T14:57:48","slug":"__deque","status":"publish","type":"post","link":"https:\/\/java.mazurok.com\/?p=1293","title":{"rendered":"e-olimp 6129. \u0414\u0435\u043a \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430"},"content":{"rendered":"<h3><a href=\"http:\/\/www.e-olimp.com\/problems\/6129\">\u0417\u0430\u0434\u0430\u0447\u0430<\/a>:<\/h3>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u00ab<em>\u0434\u0435\u043a<\/em>\u00ab. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0435\u043a\u0430 \u0438 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0443\u044e\u0449\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0434\u0435\u043a\u0430, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432 \u0432\u0441\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0437\u0434\u0435\u0441\u044c \u043c\u0435\u0442\u043e\u0434\u044b. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434 \u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0443 \u0438\u043b\u0438 \u0438\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<p><strong>push_front<\/strong><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c (\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c) \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0434\u0435\u043a\u0430 \u043d\u043e\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 <strong>ok<\/strong>.<\/p>\n<p><strong>push_back<\/strong><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c (\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c) \u0432 \u043a\u043e\u043d\u0435\u0446 \u0434\u0435\u043a\u0430 \u043d\u043e\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 <strong>ok<\/strong>.<\/p>\n<p><strong>pop_front<\/strong><\/p>\n<p>\u0418\u0437\u0432\u043b\u0435\u0447\u044c \u0438\u0437 \u0434\u0435\u043a\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>pop_back<\/strong><\/p>\n<p>\u0418\u0437\u0432\u043b\u0435\u0447\u044c \u0438\u0437 \u0434\u0435\u043a\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>front<\/strong><\/p>\n<p>\u0423\u0437\u043d\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 (\u043d\u0435 \u0443\u0434\u0430\u043b\u044f\u044f \u0435\u0433\u043e). \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>back<\/strong><\/p>\n<p>\u0423\u0437\u043d\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 (\u043d\u0435 \u0443\u0434\u0430\u043b\u044f\u044f \u0435\u0433\u043e). \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>size<\/strong><\/p>\n<p>\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0434\u0435\u043a\u0435.<\/p>\n<p><strong>clear<\/strong><\/p>\n<p>\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0434\u0435\u043a (\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b) \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 <strong>ok<\/strong>.<\/p>\n<p><strong>exit<\/strong><br \/>\n\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 <strong>bye<\/strong> \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p><strong>\u0422\u0435\u0441\u0442\u044b:<\/strong><\/p>\n<table style=\"height: 275px;width: 358px\">\n<tbody>\n<tr style=\"height: 48.4375px\">\n<td style=\"width: 207px;height: 48.4375px\">\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/td>\n<td style=\"width: 135px;height: 48.4375px\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/td>\n<\/tr>\n<tr style=\"height: 119px\">\n<td style=\"width: 207px;height: 119px\">push_front<br \/>\n4<br \/>\npush_back<br \/>\n5<br \/>\nfront<br \/>\npush_front<br \/>\n3<br \/>\nback<br \/>\nsize<br \/>\npop_front<br \/>\npop_back<br \/>\nclear<br \/>\npop_back<br \/>\nsize<br \/>\nexit<\/td>\n<td style=\"width: 135px;height: 119px\">ok<\/p>\n<p>ok<\/p>\n<p>4<br \/>\nok<\/p>\n<p>5<br \/>\n3<br \/>\n3<br \/>\n5<br \/>\nok<br \/>\nerror<br \/>\n0<br \/>\nbye<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<pre class=\"lang:java decode:true \">import java.util.Scanner;\r\n\r\npublic class Deque {\r\n\r\n    private class Node {\r\n        Node prev;\r\n        Node next;\r\n        int x;\r\n\r\n        Node() {\r\n            prev = null;\r\n            next = null;\r\n            x = 0;\r\n        }\r\n        Node(Node a, Node b, int c) {\r\n            prev = a;\r\n            next = b;\r\n            x = c;\r\n        }\r\n    };\r\n\r\n    Node Front = null;\r\n    Node Back = null;\r\n    int Size = 0;\r\n\r\n    int size() {\r\n        return Size;\r\n    }\r\n\r\n    void push_back(int p) {\r\n        if (Size == 0) {\r\n            Node NewNode = new Node(Back, Front, p);\r\n            Front = NewNode;\r\n            Back = NewNode;\r\n        } else {\r\n            Node NewNode = new Node(null, Back, p);\r\n            Back.prev = NewNode;\r\n            Back = NewNode;\r\n        }\r\n        Size++;\r\n    }\r\n\r\n    void push_front(int p) {\r\n        if (Size == 0) {\r\n            Node NewNode = new Node(Back, Front, p);\r\n            Front = NewNode;\r\n            Back = NewNode;\r\n        } else {\r\n            Node NewNode = new Node(Front, null, p);\r\n            Front.next = NewNode;\r\n            Front = NewNode;\r\n        }\r\n        Size++;\r\n    }\r\n\r\n    int back() {\r\n        if (Size != 0) {\r\n            return Back.x;\r\n        } else {\r\n            return 0;\r\n        }\r\n    }\r\n\r\n    int front() {\r\n        if (Size != 0) {\r\n            return Front.x;\r\n        } else {\r\n            return 0;\r\n        }\r\n    }\r\n\r\n    int pop_front() {\r\n        if (Size != 0) {\r\n            int x = Front.x;\r\n            Node NewNode = Front.prev;\r\n            Front = NewNode;\r\n            Size--;\r\n            return x;\r\n        } else {\r\n            return 0;\r\n        }\r\n    }\r\n\r\n    int pop_back() {\r\n        if (Size != 0) {\r\n            int x = Back.x;\r\n            Node NewNode = Back.next;\r\n            Back = NewNode;\r\n            Size--;\r\n            return x;\r\n        } else {\r\n            return 0;\r\n        }\r\n    }\r\n\r\n    void clear() {\r\n        while (Size &gt; 0) {\r\n            Node NewNode = Front.prev;\r\n            Front = NewNode;\r\n            Size--;\r\n        }\r\n        Front = null;\r\n        Back = null;\r\n    }\r\n\r\n\r\n    public static void main(String[] args) {\r\n        Deque deque = new Deque();\r\n        Scanner scanner = new Scanner(System.in);\r\n        System.out.println(\"enter your command\");\r\n        String command = scanner.nextLine();\r\n\r\n        while (!command.equals(\"exit\")) {\r\n            if (command.equals(\"push_back\")) {\r\n                int v = scanner.nextInt();\r\n                deque.push_back(v);\r\n                System.out.println(\"ok\\n\");\r\n            } else if (command.equals(\"push_front\")) {\r\n                int v = scanner.nextInt();\r\n                deque.push_front(v);\r\n                System.out.println(\"ok\\n\");\r\n            } else if (command.equals(\"front\")) {\r\n                if (deque.size() &gt; 0) {\r\n                    System.out.println(deque.front());\r\n                } else {\r\n                    System.out.println(\"error\\n\");\r\n                }\r\n            } else if (command.equals(\"back\")) {\r\n                if (deque.size() &gt; 0) {\r\n                    System.out.println(deque.back());\r\n                } else {\r\n                    System.out.println(\"error\\n\");\r\n                }\r\n            } else if (command.equals(\"size\")) {\r\n                System.out.println(deque.size());\r\n            } else if (command.equals(\"pop_front\")) {\r\n                if (deque.size() &gt; 0) {\r\n                    System.out.println(deque.pop_front());\r\n                } else {\r\n                    System.out.println(\"error\\n\");\r\n                }\r\n            } else if (command.equals(\"pop_back\")) {\r\n                if (deque.size() &gt; 0) {\r\n                    System.out.println(deque.pop_back());\r\n                } else {\r\n                    System.out.println(\"error\\n\");\r\n                }\r\n            } else if (command.equals(\"clear\")) {\r\n                System.out.println(\"ok\\n\");\r\n                deque.clear();\r\n            }\r\n            command = scanner.nextLine();\r\n        }\r\n        System.out.println(\"bye\");\r\n    }\r\n};<\/pre>\n<h1>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/h1>\n<p><a href=\"http:\/\/ideone.com\/ViRNvi\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 Ideone<\/a><br \/>\n\u0414\u0435\u043a &#8212; (\u0434\u0432\u0443\u0445\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c) \u2014 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043a\u0430\u043a \u0432 \u043d\u0430\u0447\u0430\u043b\u043e, \u0442\u0430\u043a \u0438 \u0432 \u043a\u043e\u043d\u0435\u0446, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u0430\u043c\u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e FIFO \u0438 LIFO. \u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0435\u043a\u0430 \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0443\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u0430\u0434\u0430\u0447\u0430: \u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u00ab\u0434\u0435\u043a\u00ab. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0435\u043a\u0430 \u0438 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0443\u044e\u0449\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0434\u0435\u043a\u0430, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432 \u0432\u0441\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0437\u0434\u0435\u0441\u044c \u043c\u0435\u0442\u043e\u0434\u044b. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434 \u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0443 \u0438\u043b\u0438 \u0438\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b: push_front \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c (\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c) \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0434\u0435\u043a\u0430 \u043d\u043e\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 &hellip; <a href=\"https:\/\/java.mazurok.com\/?p=1293\" class=\"more-link\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":82,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49,106],"tags":[183,184],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1293"}],"collection":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1293"}],"version-history":[{"count":14,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1293\/revisions"}],"predecessor-version":[{"id":1410,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=\/wp\/v2\/posts\/1293\/revisions\/1410"}],"wp:attachment":[{"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java.mazurok.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}