{"id":207458,"date":"2013-12-26T13:41:04","date_gmt":"2013-12-26T09:41:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=207458"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=207458","title":{"rendered":"<span class=\"post_title\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t<img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/25b\/174\/2b2\/25b1742b2b223a71ad6d634a0c4e3066.jpg\"\/><br \/>  \u041f\u0440\u0438\u0432\u0435\u0442 \u0442\u0435\u0431\u0435, \u0434\u043e\u0440\u043e\u0433\u043e\u0439 %UserName%.<br \/>  \u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0430\u0441 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438\u0441\u044c, \u043a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439. \u0423\u0441\u043b\u044b\u0448\u0430\u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e Java \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f, \u043c\u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Java, C++ \u0438 \u0421#. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0421++ \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043d\u043e \u043c\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0432\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443 \u0421# \u0438 Java, \u0438 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u044e\u0442 \u0421++. \u0412\u0441\u0435\u043c, \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u2013 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c <a href=\"http:\/\/ru.wikipedia.org\/wiki\/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%B0%D1%8F_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0\">\u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/a>. \u041a\u0430\u0436\u0434\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u0442 10000 \u0434\u043e 100000 \u0441 \u0448\u0430\u0433\u043e\u043c \u0432 1000, \u0438 \u0434\u043b\u044f \u0442\u043e\u0447\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 20 \u0440\u0430\u0437.<br \/>  \u0412\u0441\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 Intel 3770K \u0441 \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 3,5\u0413\u0413\u0446 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Windows 8.1. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0421++ \u0438 \u0421# \u2014 .Net framework 4.5.1. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Java \u2013 javac 1.7.0_45. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u00abRelease\u00bb, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u043e 15 \u0440\u0430\u0437 \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.<br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/www.dropbox.com\/s\/99tu6s5c4d7vdk2\/input.txt\">\u0437\u0434\u0435\u0441\u044c<\/a>.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u043d\u0430 Java<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">import java.io.*; import java.util.StringTokenizer;  public class Sort {     public static void main(String[] args) throws IOException {         FileReader inputStream = new FileReader(&quot;input.txt&quot;);         BufferedReader inputTxt = new BufferedReader(inputStream);         FileOutputStream myFile = new FileOutputStream(&quot;Java time.txt&quot;);         PrintWriter txtFile = new PrintWriter(myFile);         txtFile.println(&quot;Size\\tTime&quot;);         int N = 20;         for (int i = 10000; i &lt;= 100000 ; i += 1000) {             long averageTime = 0;             int[] array = parseStringToIntArray(inputTxt.readLine());             for (int j = 0; j &lt; N; j++) {                 int[] copyArray = array.clone();                 long afterSort;                 long beforeSort = System.nanoTime();                 sortArrayByHoarMiddle(copyArray, 0, i - 1);                 afterSort = System.nanoTime();                 averageTime += (afterSort - beforeSort) \/ N;             }             txtFile.println(i + &quot;\\t&quot; + averageTime);         }         inputTxt.close();         txtFile.close();     }      static void sortArrayByHoarMiddle(int[] array, int i_n, int i_k) {         int i = i_n;         int j = i_k;         int k = (i + j) \/ 2;         int x = array[k];         do {             while (array[i] &lt; x) {                 i++;             }             while (x &lt; array[j]) {                 j--;             }             if (i &lt;= j) {                 int p = array[i];                 array[i] = array[j];                 array[j] = p;                 i++;                 j--;             }         } while (!(i &gt; j));         if (i_n &lt; j) {             sortArrayByHoarMiddle(array, i_n, j);         }         if (i &lt; i_k) {             sortArrayByHoarMiddle(array, i, i_k);         }     }      static int[] parseStringToIntArray(String str) {         StringTokenizer tokenizer = new StringTokenizer(str, &quot; &quot;);         int[] array = new int[tokenizer.countTokens()];         int i = 0;         while (tokenizer.hasMoreTokens()){             array[i] = Integer.parseInt(tokenizer.nextToken());             i++;         }         return array;     } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 Java<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre> Size\tTime 10000\t1218126 11000\t796698 12000\t835308 13000\t918886 14000\t1026315 15000\t1074744 16000\t1149604 17000\t1221519 18000\t1359550 19000\t1360003 20000\t1457597 21000\t1499144 22000\t1640216 23000\t1658920 24000\t1772370 25000\t1942055 26000\t1922046 27000\t2074285 28000\t2102083 29000\t2179696 30000\t2271008 31000\t2340938 32000\t2422501 33000\t2493961 34000\t2592841 35000\t2594070 36000\t2766414 37000\t2908608 38000\t3014095 39000\t2983376 40000\t3100217 41000\t3167500 42000\t3223690 43000\t3303309 44000\t3437629 45000\t3503627 46000\t3618349 47000\t3634672 48000\t3815727 49000\t3786251 50000\t3978179 51000\t4037950 52000\t4143568 53000\t4145787 54000\t4231825 55000\t4374047 56000\t4425020 57000\t4415523 58000\t4598375 59000\t4633567 60000\t4781274 61000\t4779257 62000\t4928527 63000\t5012996 64000\t5156200 65000\t5248884 66000\t5316150 67000\t5512071 68000\t5420219 69000\t5494009 70000\t5597080 71000\t5855710 72000\t5719286 73000\t5824581 74000\t5915027 75000\t5951183 76000\t6113504 77000\t6176621 78000\t6267407 79000\t6384609 80000\t6402557 81000\t6587646 82000\t6659490 83000\t6783332 84000\t6800163 85000\t6888099 86000\t6961013 87000\t7062564 88000\t7201764 89000\t7370732 90000\t7341943 91000\t7718669 92000\t7484868 93000\t7845065 94000\t7994540 95000\t7824591 96000\t7843007 97000\t7951560 98000\t8103138 99000\t8385002 100000\t8257128 <\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u043d\u0430 C#<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>using System; using System.IO; using System.Diagnostics;  class Sort     {         static void Main(string[] args)         {             FileStream inputStream = new FileStream(&quot;input.txt&quot;, FileMode.Open);             StreamReader inputTxt = new StreamReader(inputStream);             FileStream output = new FileStream(&quot;C# time.txt&quot;, FileMode.Create);             StreamWriter txtOutput = new StreamWriter(output);             txtOutput.WriteLine(&quot;Size\\tTime&quot;);             long nanosecPerTick = (1000L*1000L*1000L) \/ Stopwatch.Frequency;             int N = 20;             for (int i = 10000; i &lt;= 100000; i += 1000)             {                 long averageTime = 0;                 int[] array = ParseStringToIntArray(inputTxt.ReadLine());                 for (int j = 0; j &lt; N; j++)                 {                     int[] copyArray = (int[])array.Clone();                     Stopwatch stopWatch = new Stopwatch();                     stopWatch.Start();                     SortArrayByHoarMiddle(copyArray, 0, i - 1);                     stopWatch.Stop();                     long ticks = stopWatch.ElapsedTicks;                     averageTime += ticks * nanosecPerTick \/ N;                 }                 txtOutput.WriteLine(i + &quot;\\t&quot; + averageTime);             }             txtOutput.Close();             Console.ReadLine();         }          static void SortArrayByHoarMiddle(int[] array, int i_n, int i_k)         {             int i = i_n;             int j = i_k;             int k = (i + j) \/ 2;             int x = array[k];             do             {                 while (array[i] &lt; x)                 {                     i++;                 }                 while (x &lt; array[j])                 {                     j--;                 }                 if (i &lt;= j)                 {                     int p = array[i];                     array[i] = array[j];                     array[j] = p;                     i++;                     j--;                 }             } while (!(i &gt; j));             if (i_n &lt; j)             {                 SortArrayByHoarMiddle(array, i_n, j);             }             if (i &lt; i_k)             {                 SortArrayByHoarMiddle(array, i, i_k);             }         }          static int[] ParseStringToIntArray(String str)         {             String[] arrayString = str.Split(' ');             int[] array = new int[arrayString.Length];             for (int i = 0; i &lt; arrayString.Length - 1; i++)             {                 array[i] = int.Parse(arrayString[i]);             }             return array;         }     } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 C#<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre> Size\tTime 10000\t1332153 11000\t1428953 12000\t1576034 13000\t1708891 14000\t1862235 15000\t2012483 16000\t2156280 17000\t2274118 18000\t2431856 19000\t2571824 20000\t2766049 21000\t2847679 22000\t3069379 23000\t3156221 24000\t3322092 25000\t3492548 26000\t3613098 27000\t3819411 28000\t3948388 29000\t4107046 30000\t4261208 31000\t4408067 32000\t4586027 33000\t4739052 34000\t4947158 35000\t4952706 36000\t5244474 37000\t5396953 38000\t5473196 39000\t5658907 40000\t5858680 41000\t5976777 42000\t6098354 43000\t6301101 44000\t6566402 45000\t6657884 46000\t6765616 47000\t7017528 48000\t7136460 49000\t7259376 50000\t7595233 51000\t7471629 52000\t7632316 53000\t7880486 54000\t8081982 55000\t8243414 56000\t8443758 57000\t8403534 58000\t8720965 59000\t8889335 60000\t9036738 61000\t9052938 62000\t9479172 63000\t9435579 64000\t9763566 65000\t9942635 66000\t10090243 67000\t10198428 68000\t10419237 69000\t10906309 70000\t10667364 71000\t10734352 72000\t10919068 73000\t11219640 74000\t11255747 75000\t11394910 76000\t11712081 77000\t11725572 78000\t11948457 79000\t12299382 80000\t12142577 81000\t12523768 82000\t12967215 83000\t13065838 84000\t12918116 85000\t13492231 86000\t13292635 87000\t13534572 88000\t13746286 89000\t13860021 90000\t14057907 91000\t14424352 92000\t14191134 93000\t14366682 94000\t14763600 95000\t14807255 96000\t15007813 97000\t15617905 98000\t15254395 99000\t15566791 100000\t15682962 <\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>#include &lt;iostream&gt;  #include &lt;fstream&gt;  #include &lt;iomanip&gt; #include&lt;Windows.h&gt;\t  int* CopyArray(int *mass, int length); void SortArrayByHoarMiddle(int *A, int i_n, int i_k);  using namespace std;  int main() { \tofstream outFile; \toutFile.open(&quot;C++ time.txt&quot;, ifstream::app); \tifstream inputTxt; \tinputTxt.open(&quot;input&quot;, ios::in); \toutFile &lt;&lt; &quot;Size&quot; &lt;&lt; setw(15) &lt;&lt; &quot;Time&quot; &lt;&lt; endl; \tint N = 20; \tfor (int i = 10000; i &lt;= 100000; i += 1000) \t{ \t\tLARGE_INTEGER averageTime; \t\taverageTime.QuadPart = 0;  \t\tint* arr = new int[i]; \t\tfor (int j = 0; j &lt; i; j++) \t\t{ \t\t\tinputTxt &gt;&gt; arr[j]; \t\t}  \t\tfor (int j = 0; j &lt; N; j++)  \t\t{ \t\t\tLARGE_INTEGER StartTime1, StartTime2, Frequency; \t\t\tQueryPerformanceFrequency(&Frequency);  \t\t\tint* copyArray = CopyArray(arr, i); \t\t\tQueryPerformanceCounter(&StartTime1); \t\t\tSortArrayByHoarMiddle(copyArray, 0, i - 1); \t\t\tQueryPerformanceCounter(&StartTime2); \t\t\taverageTime.QuadPart += ((StartTime2.QuadPart -                                      StartTime1.QuadPart) * 1000000000 \/ Frequency.QuadPart) \/ N; \t\t\tdelete[]copyArray; \t\t} \t\tdelete[]arr; \t\toutFile &lt;&lt; i &lt;&lt; setw(15) &lt;&lt; averageTime.QuadPart &lt;&lt; endl; \t} \toutFile.close(); \tinputTxt.close(); \tsystem(&quot;pause&quot;); \treturn 1; }  void SortArrayByHoarMiddle(int *A, int i_n, int i_k) { \tint i = i_n; \tint j = i_k; \tint k = (i + j) \/ 2; \tint x = A[k]; \tdo \t{ \t\twhile (A[i] &lt; x) \t\t{ \t\t\ti++; \t\t} \t\twhile (x &lt; A[j]) \t\t{ \t\t\tj--; \t\t} \t\tif (i &lt;= j) \t\t{ \t\t\tint p = A[i]; \t\t\tA[i] = A[j]; \t\t\tA[j] = p; \t\t\ti++; \t\t\tj--; \t\t} \t} while (!(i &gt; j)); \tif (i_n &lt; j) \t{ \t\tSortArrayByHoarMiddle(A, i_n, j); \t} \tif (i &lt; i_k) \t{ \t\tSortArrayByHoarMiddle(A, i, i_k); \t} }  int* CopyArray(int *mass, int length) { \tint *newMass = new int[length]; \tfor (int i = 0; i &lt; length; i++) \t{ \t\tnewMass[i] = mass[i]; \t} \treturn newMass; } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 C#<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre> Size           Time 10000         100942 11000         127631 12000         117779 13000         131950 14000         141810 15000         151233 16000         158850 17000         189961 18000         195538 19000         206154 20000         209590 21000         223517 22000         231769 23000         239298 24000         249350 25000         266595 26000         275632 27000         294540 28000         297129 29000         311579 30000         318054 31000         328837 32000         334655 33000         390990 34000         395043 35000         402540 36000         409347 37000         422282 38000         428493 39000         435066 40000         440648 41000         462426 42000         469822 43000         474614 44000         485667 45000         494188 46000         506517 47000         507351 48000         520722 49000         524961 50000         558094 51000         563955 52000         580101 53000         587453 54000         606845 55000         614531 56000         624221 57000         628074 58000         650527 59000         654883 60000         665655 61000         671014 62000         687000 63000         690293 64000         698432 65000         703298 66000         810772 67000         817962 68000         823441 69000         831422 70000         839763 71000         846793 72000         856030 73000         862610 74000         879574 75000         884135 76000         893747 77000         899299 78000         908379 79000         917278 80000         923637 81000         926501 82000         966136 83000         971560 84000         978383 85000         982154 86000         989751 87000        1005488 88000        1013646 89000        1028962 90000        1030597 91000        1045373 92000        1047800 93000        1056653 94000        1062558 95000        1094374 96000        1099536 97000        1106445 98000        1118150 99000        1169052 100000        1172926 <\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c:<br \/>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/ca9\/c0b\/7dd\/ca9c0b7dd62d6d16317088ac127d6b23.png\"\/>  <\/p>\n<h5>\u0412\u044b\u0432\u043e\u0434:<\/h5>\n<p>  \u041a\u0430\u043a \u0438 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c, \u0421++ \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u043b\u0443\u0447\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u0440\u044c\u0431\u044b \u043c\u0435\u0436\u0434\u0443 C# \u0438 Java \u2013 \u0442\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e Java \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0443 C#. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 C#, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0437\u043d\u0430\u0435\u0442, \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u2013 \u0431\u0443\u0434\u0443 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/207458\/\"> http:\/\/habrahabr.ru\/post\/207458\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t<img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/25b\/174\/2b2\/25b1742b2b223a71ad6d634a0c4e3066.jpg\"\/><br \/>  \u041f\u0440\u0438\u0432\u0435\u0442 \u0442\u0435\u0431\u0435, \u0434\u043e\u0440\u043e\u0433\u043e\u0439 %UserName%.<br \/>  \u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0430\u0441 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438\u0441\u044c, \u043a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439. \u0423\u0441\u043b\u044b\u0448\u0430\u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e Java \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f, \u043c\u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Java, C++ \u0438 \u0421#. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0421++ \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043d\u043e \u043c\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0432\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443 \u0421# \u0438 Java, \u0438 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u044e\u0442 \u0421++. \u0412\u0441\u0435\u043c, \u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-207458","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/207458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=207458"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/207458\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=207458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=207458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=207458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}