{"id":100823,"date":"2025-03-09T22:56:42","date_gmt":"2025-03-09T19:26:42","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/"},"modified":"2025-03-09T22:56:42","modified_gmt":"2025-03-09T19:26:42","slug":"from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/","title":{"rendered":"\u0627\u0632 \u0628\u0631\u062f\u0627\u0631\u0647\u0627 \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 \u0647\u0627\u0634\u0633\u062a: \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 Rust"},"content":{"rendered":"<div data-article-id=\"2320986\" id=\"article-body\">\n<p><\/p>\n<p>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Rust \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u062f\u0627\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u0628\u0631\u062f\u0627\u0631\u0647\u0627 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f (<code>Vec<t\/><\/code>) \u060c \u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0634 (<code>HashMap<k v=\"\"\/><\/code>) \u060c \u0648 \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0647\u0634 (<code>HashSet<t\/><\/code>). \u0627\u06cc\u0646 \u0633\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0631\u0627\u06cc\u062c \u062a\u0631\u06cc\u0646 \u0648 \u0645\u0641\u06cc\u062f \u062f\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0647\u0633\u062a\u0646\u062f. \u0637\u0631\u0627\u062d\u06cc \u0622\u0646\u0647\u0627 \u0628\u0627 \u0627\u0647\u062f\u0627\u0641 Rust \u062f\u0631 \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0627\u06cc\u0645\u0646 \u060c \u0647\u0645\u0632\u0645\u0627\u0646 \u0648 \u0639\u0645\u0644\u06cc \u0647\u0645\u0627\u0647\u0646\u06af \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0633\u0627\u0632\u0647 \u0647\u0627 \u0636\u0645\u0646 \u062d\u0641\u0638 \u0645\u0627\u0647\u06cc\u062a \u0633\u0628\u06a9 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Rust \u060c \u0628\u06cc\u0634\u062a\u0631 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0648 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u067e\u0648\u0634\u0634 \u0645\u06cc \u062f\u0647\u0646\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%D9%87%D8%A7_Vec\" >\u0628\u0631\u062f\u0627\u0631\u0647\u0627 (Vec)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%86%D9%82%D8%B4%D9%87_%D9%87%D8%A7%DB%8C_%D9%87%D9%87_HashMap\" >\u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0647 (HashMap)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D9%87%D8%A7%DB%8C_%D9%87%D8%B4_HashSet\" >\u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0647\u0634 (HashSet)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%84%DB%8C%D8%B3%D8%AA_%D8%AF%D9%88_%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1_%D9%BE%DB%8C%D9%88%D9%86%D8%AF_LinkedList\" >\u0644\u06cc\u0633\u062a \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u067e\u06cc\u0648\u0646\u062f (LinkedList)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%86%D9%82%D8%B4%D9%87_B-Tree_BTreeMap\" >\u0646\u0642\u0634\u0647 B-Tree (BTreeMap)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_B-Tree_BTreeSet\" >\u0645\u062c\u0645\u0648\u0639\u0647 B-Tree (BTreeSet)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%BE%D8%B4%D8%AA%D9%87_%D8%AF%D9%88%D8%AF%D9%88%DB%8C%DB%8C_BinaryHeap\" >\u067e\u0634\u062a\u0647 \u062f\u0648\u062f\u0648\u06cc\u06cc (BinaryHeap)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/from-vectors-to-hashsets-navigating-rusts-data-structures-1p7a\/#%D9%85%D8%A7_Leapcell_%D8%8C_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%D8%A8%D8%B1%D8%AA%D8%B1_%D8%B4%D9%85%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D9%87%D8%A7%DB%8C_%D8%B2%D9%86%DA%AF_%D8%B2%D8%AF%DA%AF%DB%8C_%D9%87%D8%B3%D8%AA%DB%8C%D9%85\" >\u0645\u0627 Leapcell \u060c \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0631\u062a\u0631 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0632\u0646\u06af \u0632\u062f\u06af\u06cc \u0647\u0633\u062a\u06cc\u0645.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%D9%87%D8%A7_Vec\"><\/span>\n<p>  \u0628\u0631\u062f\u0627\u0631\u0647\u0627 (<code>Vec<t\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06cc\u06a9 \u0628\u0631\u062f\u0627\u0631 \u0645\u062a\u062f\u0627\u0648\u0644 \u062a\u0631\u06cc\u0646 \u0627\u062c\u0631\u0627\u06cc \u0622\u0631\u0627\u06cc\u0647 \u067e\u0648\u06cc\u0627 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u0628\u0647 \u0641\u0647\u0631\u0633\u062a \u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u060c \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0646\u062f\u0627\u0632\u0647 \u067e\u0648\u06cc\u0627 \u0648 \u06af\u0630\u0631\u06af\u0627\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f \u0631\u0627 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0630\u062e\u06cc\u0631\u0647 \u062d\u0627\u0641\u0638\u0647 \u0645\u062a\u0646\u0627\u0648\u0628 \u060c \u06a9\u0647 \u0627\u0632 \u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0645\u062f\u0631\u0646 CPU \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u060c \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create an empty vector<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">numbers<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">Vec<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Create and initialize a vector using a macro<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">names<\/span> <span class=\"o\">=<\/span> <span class=\"nd\">vec!<\/span><span class=\"p\">[<\/span><span class=\"s\">\"Alice\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Bob\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Carol\"<\/span><span class=\"p\">];<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the vector<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Remove elements from the vector<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.pop<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ Removes and returns the last element<\/span>\n\n    <span class=\"c1\">\/\/ Access elements in the vector<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">first_name<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">names<\/span><span class=\"nf\">.get<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The first name is: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">first_name<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Iterate through vector elements<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">name<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">names<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">name<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Modify elements in the vector<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">first_name<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">names<\/span><span class=\"nf\">.get_mut<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"o\">*<\/span><span class=\"n\">first_name<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"Dave\"<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Use an iterator to process vector elements<\/span>\n    <span class=\"k\">let<\/span> <span class=\"n\">numbers_squared<\/span><span class=\"p\">:<\/span> <span class=\"nb\">Vec<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.map<\/span><span class=\"p\">(|<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">x<\/span><span class=\"p\">|<\/span> <span class=\"n\">x<\/span> <span class=\"o\">*<\/span> <span class=\"n\">x<\/span><span class=\"p\">)<\/span><span class=\"nf\">.collect<\/span><span class=\"p\">();<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Squared numbers: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">numbers_squared<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Extend the vector with additional elements<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.extend<\/span><span class=\"p\">([<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">]<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.copied<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Directly access elements using an index<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Second name: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">names<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]);<\/span> <span class=\"c1\">\/\/ Note: Direct indexing may panic<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u062f\u0627\u0631\u0647\u0627 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062a\u0648\u0627\u0644\u06cc \u0639\u0646\u0627\u0635\u0631 \u0627\u0632 \u0647\u0645\u0627\u0646 \u0646\u0648\u0639 \u060c \u0686\u0647 \u0631\u0634\u062a\u0647 \u0647\u0627 \u060c \u0639\u062f\u062f \u0635\u062d\u06cc\u062d \u06cc\u0627 \u0627\u0646\u0648\u0627\u0639 \u0633\u0641\u0627\u0631\u0634\u06cc \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0627\u0641\u0632\u0648\u062f\u0646 \u0639\u0646\u0627\u0635\u0631 \u0622\u0633\u0627\u0646 \u060c \u062d\u0630\u0641 \u0648 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0635\u0627\u062f\u0641\u06cc \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D9%82%D8%B4%D9%87_%D9%87%D8%A7%DB%8C_%D9%87%D9%87_HashMap\"><\/span>\n<p>  \u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0647 (<code>HashMap<k v=\"\"\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0646\u0642\u0634\u0647 \u0647\u0634 \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0627\u0631\u0632\u0634 \u06a9\u0644\u06cc\u062f\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062c\u062f\u0648\u0644 \u0647\u0634 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0632 \u062c\u0633\u062a\u062c\u0648\u06cc \u0633\u0631\u06cc\u0639 \u060c \u062f\u0631\u062c \u0648 \u062d\u0630\u0641 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0645\u0647\u0645 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0622\u0645\u062f \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">HashMap<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create an empty hash map<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">book_reviews<\/span><span class=\"p\">:<\/span> <span class=\"n\">HashMap<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">String<\/span><span class=\"p\">,<\/span> <span class=\"nb\">String<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">HashMap<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the hash map<\/span>\n    <span class=\"n\">book_reviews<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The Hobbit\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">(),<\/span> <span class=\"s\">\"Excellent fantasy book\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">());<\/span>\n    <span class=\"n\">book_reviews<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The Catcher in the Rye\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">(),<\/span> <span class=\"s\">\"Classic novel\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Access elements in the hash map<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">review<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">book_reviews<\/span><span class=\"nf\">.get<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The Hobbit\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Review of The Hobbit: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">review<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Remove elements from the hash map<\/span>\n    <span class=\"n\">book_reviews<\/span><span class=\"nf\">.remove<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The Catcher in the Rye\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the hash map<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"n\">book<\/span><span class=\"p\">,<\/span> <span class=\"n\">review<\/span><span class=\"p\">)<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">book_reviews<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">book<\/span><span class=\"p\">,<\/span> <span class=\"n\">review<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Update elements in the hash map<\/span>\n    <span class=\"n\">book_reviews<\/span><span class=\"nf\">.entry<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The Hobbit\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">())<\/span><span class=\"nf\">.or_insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"No review found\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">());<\/span>\n    <span class=\"n\">book_reviews<\/span><span class=\"nf\">.entry<\/span><span class=\"p\">(<\/span><span class=\"s\">\"1984\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">())<\/span><span class=\"nf\">.or_insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Dystopian science fiction\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">scores<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">HashMap<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Insert directly using `insert`<\/span>\n    <span class=\"n\">scores<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Blue\"<\/span><span class=\"p\">,<\/span> <span class=\"mi\">10<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">scores<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Blue\"<\/span><span class=\"p\">,<\/span> <span class=\"mi\">25<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Overwrites the previous value<\/span>\n\n    <span class=\"c1\">\/\/ Use `entry` to update or insert<\/span>\n    <span class=\"n\">scores<\/span><span class=\"nf\">.entry<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Yellow\"<\/span><span class=\"p\">)<\/span><span class=\"nf\">.or_insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">50<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Inserts because \"Yellow\" does not exist<\/span>\n    <span class=\"n\">scores<\/span><span class=\"nf\">.entry<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Blue\"<\/span><span class=\"p\">)<\/span><span class=\"nf\">.or_insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">50<\/span><span class=\"p\">);<\/span>   <span class=\"c1\">\/\/ Does nothing because \"Blue\" already exists<\/span>\n\n    <span class=\"c1\">\/\/ Result: {\"Blue\": 25, \"Yellow\": 50}<\/span>\n\n    <span class=\"c1\">\/\/ Check if a key exists<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">book_reviews<\/span><span class=\"nf\">.contains_key<\/span><span class=\"p\">(<\/span><span class=\"s\">\"1984\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Review for 1984 is available.\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0634 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u060c \u0645\u0627\u0646\u0646\u062f \u0641\u0647\u0631\u0633\u062a \u0628\u0646\u062f\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062d\u0627\u0641\u0638\u0647 \u0646\u0647\u0627\u0646 \u060c \u0645\u0641\u06cc\u062f \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0627\u0646\u062c\u0645\u0646 \u0647\u0627\u06cc \u0628\u0627 \u0627\u0631\u0632\u0634 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f \u060c \u0633\u0627\u0632\u0645\u0627\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0633\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D9%87%D8%A7%DB%8C_%D9%87%D8%B4_HashSet\"><\/span>\n<p>  \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0647\u0634 (<code>HashSet<t\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0634 \u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u0647 \u0628\u062f\u0648\u0646 \u0647\u0645\u0627\u0647\u0646\u06af \u0627\u0633\u062a \u06a9\u0647 \u0639\u0646\u0627\u0635\u0631 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062c\u062f\u0648\u0644 \u0647\u0634 \u060c \u0627\u0631\u0627\u0626\u0647 \u0633\u0631\u06cc\u0639 \u062c\u0633\u062a\u062c\u0648\u06cc \u060c \u062f\u0631\u062c \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a \u062d\u0630\u0641 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">HashSet<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create an empty set<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">numbers<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">HashSet<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the set<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Remove an element from the set<\/span>\n    <span class=\"n\">numbers<\/span><span class=\"nf\">.remove<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"mi\">3<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Check if an element exists in the set<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.contains<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"1 is in the set\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the set<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">number<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">numbers<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">number<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Set operations: union, intersection, difference, symmetric difference<\/span>\n\n    <span class=\"c1\">\/\/ At this point, numbers contain {1, 2}<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"n\">other_numbers<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span><span class=\"p\">]<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span><span class=\"nf\">.cloned<\/span><span class=\"p\">()<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">HashSet<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\n    <span class=\"c1\">\/\/ other_numbers contain {2, 3, 4}<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"k\">union<\/span> <span class=\"o\">=<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.union<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">other_numbers<\/span><span class=\"p\">)<\/span><span class=\"nf\">.cloned<\/span><span class=\"p\">()<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">HashSet<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Union: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"k\">union<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Union: `{1, 2, 3, 4}` (all unique elements from both sets)<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"n\">intersection<\/span> <span class=\"o\">=<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.intersection<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">other_numbers<\/span><span class=\"p\">)<\/span><span class=\"nf\">.cloned<\/span><span class=\"p\">()<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">HashSet<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Intersection: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">intersection<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Intersection: `{2}` (common elements)<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"n\">difference<\/span> <span class=\"o\">=<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.difference<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">other_numbers<\/span><span class=\"p\">)<\/span><span class=\"nf\">.cloned<\/span><span class=\"p\">()<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">HashSet<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Difference: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">difference<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Difference: `{1}` (elements in `numbers` but not in `other_numbers`)<\/span>\n\n    <span class=\"k\">let<\/span> <span class=\"n\">symmetric_difference<\/span> <span class=\"o\">=<\/span> <span class=\"n\">numbers<\/span><span class=\"nf\">.symmetric_difference<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">other_numbers<\/span><span class=\"p\">)<\/span><span class=\"nf\">.cloned<\/span><span class=\"p\">()<\/span><span class=\"py\">.collect<\/span><span class=\"p\">::<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">HashSet<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">_<\/span><span class=\"o\">&gt;&gt;<\/span><span class=\"p\">();<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Symmetric Difference: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">symmetric_difference<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Symmetric Difference: `{1, 3, 4}` (elements unique to each set)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0647\u0634 \u0628\u0647 \u0648\u06cc\u0698\u0647 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0639\u0646\u0627\u0635\u0631 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u060c \u0645\u0627\u0646\u0646\u062f \u0644\u06cc\u0633\u062a \u0634\u0646\u0627\u0633\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0648 \u0633\u0648\u0627\u0628\u0642 \u062a\u062d\u062a \u0634\u0631\u0627\u06cc\u0637 \u062e\u0627\u0635 \u0645\u0641\u06cc\u062f \u0647\u0633\u062a\u0646\u062f. \u0639\u0645\u0644\u06cc\u0627\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u0627\u062a\u062d\u0627\u062f\u06cc\u0647 \u060c \u062a\u0642\u0627\u0637\u0639 \u0648 \u062a\u0641\u0627\u0648\u062a \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0631\u0622\u0645\u062f \u062f\u0627\u062f\u0647 \u0647\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%84%DB%8C%D8%B3%D8%AA_%D8%AF%D9%88_%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1_%D9%BE%DB%8C%D9%88%D9%86%D8%AF_LinkedList\"><\/span>\n<p>  \u0644\u06cc\u0633\u062a \u062f\u0648 \u0628\u0631\u0627\u0628\u0631 \u067e\u06cc\u0648\u0646\u062f (<code>LinkedList<t\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>LinkedList<t\/><\/code>  \u06cc\u06a9 \u0644\u06cc\u0633\u062a \u0645\u0636\u0627\u0639\u0641 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Rust \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0628\u0631\u062f\u0627\u0631\u0647\u0627 (<code>Vec<t\/><\/code>) \u060c \u0644\u06cc\u0633\u062a \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0627\u0645\u06a9\u0627\u0646 \u062f\u0631\u062c \u06a9\u0627\u0631\u0622\u0645\u062f \u0648 \u062d\u0630\u0641 \u0639\u0646\u0627\u0635\u0631 \u060c \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u0622\u063a\u0627\u0632 \u06cc\u0627 \u067e\u0627\u06cc\u0627\u0646 \u0644\u06cc\u0633\u062a \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u060c \u0622\u0646\u0647\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0635\u0627\u062f\u0641\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0636\u0639\u06cc\u0641\u06cc \u062f\u0627\u0631\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">LinkedList<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create a new empty linked list<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">list<\/span><span class=\"p\">:<\/span> <span class=\"n\">LinkedList<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">LinkedList<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the back of the list<\/span>\n    <span class=\"n\">list<\/span><span class=\"nf\">.push_back<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">list<\/span><span class=\"nf\">.push_back<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the front of the list<\/span>\n    <span class=\"n\">list<\/span><span class=\"nf\">.push_front<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Pop elements from the front and back of the list<\/span>\n    <span class=\"nd\">assert_eq!<\/span><span class=\"p\">(<\/span><span class=\"n\">list<\/span><span class=\"nf\">.pop_front<\/span><span class=\"p\">(),<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">));<\/span>\n    <span class=\"nd\">assert_eq!<\/span><span class=\"p\">(<\/span><span class=\"n\">list<\/span><span class=\"nf\">.pop_back<\/span><span class=\"p\">(),<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">));<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the list<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">elem<\/span> <span class=\"k\">in<\/span> <span class=\"n\">list<\/span><span class=\"nf\">.iter<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">elem<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Modify elements in the list (requires using an iterator)<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">iter_mut<\/span> <span class=\"o\">=<\/span> <span class=\"n\">list<\/span><span class=\"nf\">.iter_mut<\/span><span class=\"p\">();<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">first_elem<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">iter_mut<\/span><span class=\"nf\">.next<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n        <span class=\"o\">*<\/span><span class=\"n\">first_elem<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">3<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Print the modified list<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Modified list: {:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">list<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0645\u0648\u0627\u0631\u062f \u0627\u0636\u0627\u0641\u06cc \u06cc\u0627 \u062d\u0630\u0641 \u0647\u0627\u06cc \u0645\u06a9\u0631\u0631 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u0627\u0646 \u06cc\u06a9 \u0644\u06cc\u0633\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a \u060c <code>LinkedList<\/code> \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0648\u0628\u06cc \u0627\u0633\u062a \u060c \u0632\u06cc\u0631\u0627 \u0627\u06cc\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0632 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0632\u0645\u0627\u0646\u06cc O (1) \u0628\u0631\u062e\u0648\u0631\u062f\u0627\u0631 \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06af\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0646\u062f\u0631\u062a \u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0635\u0627\u062f\u0641\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u0628\u06cc\u0634\u062a\u0631 \u0631\u0648\u06cc Traversal \u0645\u062a\u0648\u0627\u0644\u06cc \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u062f \u060c \u06cc\u06a9 \u0644\u06cc\u0633\u062a \u0645\u0631\u062a\u0628\u0637 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647\u062a\u0631\u06cc \u0646\u0633\u0628\u062a \u0628\u0647 \u06cc\u06a9 \u0628\u0631\u062f\u0627\u0631 \u0628\u0627\u0634\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D9%82%D8%B4%D9%87_B-Tree_BTreeMap\"><\/span>\n<p>  \u0646\u0642\u0634\u0647 B-Tree (<code>BTreeMap<k v=\"\"\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>BTreeMap<k v=\"\"\/><\/code>  \u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u0647 \u0628\u0627 \u0627\u0631\u0632\u0634 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062f\u0631\u062e\u062a B \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f. \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0634 (<code>HashMap<k v=\"\"\/><\/code>) <code>BTreeMap<\/code> \u062f\u0631 \u0635\u0648\u0631\u062a \u0633\u0641\u0627\u0631\u0634 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u062d\u062f\u0648\u062f\u0647 \u06cc\u0627 \u0645\u0633\u0627\u0641\u062a \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u060c \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">BTreeMap<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create a new empty BTreeMap<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">map<\/span><span class=\"p\">:<\/span> <span class=\"n\">BTreeMap<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">String<\/span><span class=\"p\">,<\/span> <span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">BTreeMap<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Insert key-value pairs into the BTreeMap<\/span>\n    <span class=\"n\">map<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"apple\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">(),<\/span> <span class=\"mi\">3<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">map<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"banana\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">(),<\/span> <span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">map<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"s\">\"pear\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">(),<\/span> <span class=\"mi\">4<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Retrieve the value corresponding to a key<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">v<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">map<\/span><span class=\"nf\">.get<\/span><span class=\"p\">(<\/span><span class=\"s\">\"apple\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"apple: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">v<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Remove a key-value pair<\/span>\n    <span class=\"n\">map<\/span><span class=\"nf\">.remove<\/span><span class=\"p\">(<\/span><span class=\"s\">\"banana\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the BTreeMap<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">)<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">map<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Range query: get all key-value pairs with keys between \"apple\" and \"pear\" (inclusive)<\/span>\n    <span class=\"k\">let<\/span> <span class=\"n\">range<\/span> <span class=\"o\">=<\/span> <span class=\"n\">map<\/span><span class=\"nf\">.range<\/span><span class=\"p\">(<\/span><span class=\"s\">\"apple\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">()<\/span><span class=\"o\">..=<\/span><span class=\"s\">\"pear\"<\/span><span class=\"nf\">.to_string<\/span><span class=\"p\">());<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">)<\/span> <span class=\"k\">in<\/span> <span class=\"n\">range<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Range query: {}: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">key<\/span><span class=\"p\">,<\/span> <span class=\"n\">value<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><code>BTreeMap<\/code>  \u06af\u0632\u06cc\u0646\u0647 \u062e\u0648\u0628\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u06cc\u06a9 \u0646\u0642\u0634\u0647 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u06cc\u0627\u0632 \u0628\u0627\u0634\u062f \u060c \u0628\u0647 \u062e\u0635\u0648\u0635 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u062d\u062f\u0648\u062f\u0647 \u0648 Traversal \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<p>\u0627\u06af\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u06a9\u0631\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a \u062c\u0633\u062a\u062c\u0648\u06cc \u060c \u062f\u0631\u062c \u0648 \u062d\u0630\u0641 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0637\u0628\u06cc\u0639\u06cc \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f \u060c <code>BTreeMap<\/code> \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u0646\u0627\u0633\u0628 \u062a\u0631 \u0627\u0632 <code>HashMap<\/code> \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0631\u0627 \u062d\u0641\u0638 \u0645\u06cc \u06a9\u0646\u062f \u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u062d\u062f\u0648\u062f\u0647 \u0645\u062d\u062f\u0648\u062f\u0647 \u0631\u0627 \u062a\u0633\u0647\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0645\u0633\u06cc\u0631 \u0633\u0641\u0627\u0631\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_B-Tree_BTreeSet\"><\/span>\n<p>  \u0645\u062c\u0645\u0648\u0639\u0647 B-Tree (<code>BTreeSet<t\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>BTreeSet<t\/><\/code>  \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u06cc\u06a9 \u062f\u0631\u062e\u062a B \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0639\u0646\u0627\u0635\u0631 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0645\u0631\u062a\u0628 \u0646\u06af\u0647 \u0645\u06cc \u062f\u0627\u0631\u062f. \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 <code>HashSet<t\/><\/code>\u0628\u0627 <code>BTreeSet<\/code> \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0639\u0645\u0644\u06cc\u0627\u062a \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0648 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u062d\u062f\u0648\u062f\u0647 \u0627\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0631\u0627\u06cc \u0628\u0631\u062e\u06cc \u0627\u0632 \u0639\u0645\u0644\u06cc\u0627\u062a \u06a9\u0646\u062f\u062a\u0631 \u0628\u0627\u0634\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">BTreeSet<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create a new empty BTreeSet<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">set<\/span><span class=\"p\">:<\/span> <span class=\"n\">BTreeSet<\/span><span class=\"o\">&lt;<\/span><span class=\"nb\">i32<\/span><span class=\"o\">&gt;<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">BTreeSet<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the set<\/span>\n    <span class=\"n\">set<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">12<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">set<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">set<\/span><span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"mi\">18<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Check if an element exists<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">set<\/span><span class=\"nf\">.contains<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"mi\">12<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Set contains 12\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Remove an element<\/span>\n    <span class=\"n\">set<\/span><span class=\"nf\">.remove<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"mi\">5<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the set (elements will be in ascending order)<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">num<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">set<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">num<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Range query: retrieve all elements greater than or equal to 10 and less than 20<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">num<\/span> <span class=\"k\">in<\/span> <span class=\"n\">set<\/span><span class=\"nf\">.range<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"o\">..<\/span><span class=\"mi\">20<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Range query: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">num<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><code>BTreeSet<\/code>  \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0648\u0628\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062c\u0633\u062a\u062c\u0648\u06cc \u0633\u0631\u06cc\u0639 \u060c \u067e\u0631\u0633 \u0648 \u062c\u0648\u0647\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 \u06cc\u0627 Traversal \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0628\u0647 \u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u0647 \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0639\u0646\u0627\u0635\u0631 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0628\u0627\u06cc\u062f \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u0646\u062f \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a \u0648 \u0639\u0646\u0627\u0635\u0631 \u062f\u0627\u0631\u0627\u06cc \u06cc\u06a9 \u0631\u0627\u0628\u0637\u0647 \u0642\u0627\u0628\u0644 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D8%B4%D8%AA%D9%87_%D8%AF%D9%88%D8%AF%D9%88%DB%8C%DB%8C_BinaryHeap\"><\/span>\n<p>  \u067e\u0634\u062a\u0647 \u062f\u0648\u062f\u0648\u06cc\u06cc (<code>BinaryHeap<t\/><\/code>)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>BinaryHeap<t\/><\/code>  \u0627\u062c\u0631\u0627\u06cc \u06cc\u06a9 \u0635\u0641 \u0627\u0648\u0644\u0648\u06cc\u062a \u0628\u0631 \u0627\u0633\u0627\u0633 \u06cc\u06a9 \u067e\u0634\u062a\u0647 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0627\u0633\u062a. \u0628\u0633\u062a\u0647 \u0628\u0647 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u0627\u06cc\u0646 \u06cc\u06a9 \u062d\u062f\u0627\u06a9\u062b\u0631 \u06cc\u0627 \u0645\u06cc\u0646 \u0627\u0633\u062a \u060c \u0627\u0645\u06a9\u0627\u0646 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0633\u0631\u06cc\u0639 \u0639\u0646\u0627\u0635\u0631 \u0648 \u062d\u0630\u0641 \u062d\u062f\u0627\u06a9\u062b\u0631 (\u06cc\u0627 \u062d\u062f\u0627\u0642\u0644) \u0639\u0646\u0635\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u060c Rust&#39;s <code>BinaryHeap<\/code> \u062d\u062f\u0627\u06a9\u062b\u0631-\u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">collections<\/span><span class=\"p\">::<\/span><span class=\"n\">BinaryHeap<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Create a new empty BinaryHeap<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">heap<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">BinaryHeap<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Add elements to the heap<\/span>\n    <span class=\"n\">heap<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">heap<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">);<\/span>\n    <span class=\"n\">heap<\/span><span class=\"nf\">.push<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ Peek at the maximum element in the heap without removing it<\/span>\n    <span class=\"k\">if<\/span> <span class=\"k\">let<\/span> <span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"n\">max<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">heap<\/span><span class=\"nf\">.peek<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Max element: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">max<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c1\">\/\/ Remove and return the maximum element<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Removed max element: {}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">heap<\/span><span class=\"nf\">.pop<\/span><span class=\"p\">()<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Iterate over the heap (the order of iteration is not sorted)<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">num<\/span> <span class=\"k\">in<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">heap<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">num<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u0648 \u062d\u0630\u0641 \u0639\u0646\u0635\u0631 \u062d\u062f\u0627\u06a9\u062b\u0631 (\u06cc\u0627 \u062d\u062f\u0627\u0642\u0644) \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u060c <code>BinaryHeap<\/code> \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0627\u0633\u062a \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0628\u0647 \u0648\u06cc\u0698\u0647 \u062f\u0631 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u0648\u062a\u0627\u0647\u062a\u0631\u06cc\u0646 \u0645\u0633\u06cc\u0631 Dijkstra \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<p><code>BinaryHeap<\/code>  \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0627\u0631 \u060c \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u062d\u0631\u06cc\u0635 \u06cc\u0627 \u0647\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0635\u0641 \u0627\u0648\u0644\u0648\u06cc\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u060c \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a.<\/p>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%A7_Leapcell_%D8%8C_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%D8%A8%D8%B1%D8%AA%D8%B1_%D8%B4%D9%85%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%DB%8C%D8%B2%D8%A8%D8%A7%D9%86%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D9%87%D8%A7%DB%8C_%D8%B2%D9%86%DA%AF_%D8%B2%D8%AF%DA%AF%DB%8C_%D9%87%D8%B3%D8%AA%DB%8C%D9%85\"><\/span>\n<p>  \u0645\u0627 Leapcell \u060c \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0631\u062a\u0631 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0632\u0646\u06af \u0632\u062f\u06af\u06cc \u0647\u0633\u062a\u06cc\u0645.<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxoww372p2qts8tv1ha9.png\" alt=\"\u062c\u0647\u0634\" loading=\"lazy\" width=\"800\" height=\"180\" title=\"\"><\/p>\n<p>Leapcell \u0628\u0633\u062a\u0631 \u0633\u0631\u0648\u0631 \u0646\u0633\u0644 \u0628\u0639\u062f\u06cc \u0628\u0631\u0627\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u0648\u0628 \u060c \u06a9\u0627\u0631\u0647\u0627\u06cc ASYNC \u0648 REDIS \u0627\u0633\u062a:<\/p>\n<p><strong>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0686\u0646\u062f \u0632\u0628\u0627\u0646\u06cc<\/strong><\/p>\n<ul>\n<li>\u0628\u0627 node.js \u060c \u067e\u0627\u06cc\u062a\u0648\u0646 \u060c \u0628\u0631\u0648 \u06cc\u0627 \u0632\u0646\u06af \u0632\u062f\u06af\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f.<\/li>\n<\/ul>\n<p><strong>\u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0646\u0627\u0645\u062d\u062f\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0631\u0627\u06cc\u06af\u0627\u0646 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f<\/strong><\/p>\n<ul>\n<li>\u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u067e\u0631\u062f\u0627\u062e\u062a \u06a9\u0646\u06cc\u062f &#8211; \u0628\u062f\u0648\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u060c \u0628\u062f\u0648\u0646 \u0647\u0632\u06cc\u0646\u0647.<\/li>\n<\/ul>\n<p><strong>\u0631\u0627\u0646\u062f\u0645\u0627\u0646 \u0647\u0632\u06cc\u0646\u0647 \u0628\u06cc \u0646\u0638\u06cc\u0631<\/strong><\/p>\n<ul>\n<li>\u067e\u0631\u062f\u0627\u062e\u062a \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0634\u0645\u0627 \u0628\u062f\u0648\u0646 \u0647\u06cc\u0686 \u06af\u0648\u0646\u0647 \u0647\u0632\u06cc\u0646\u0647 \u0628\u06cc\u06a9\u0627\u0631.<\/li>\n<li>\u0645\u062b\u0627\u0644: 25 \u062f\u0644\u0627\u0631 \u0627\u0632 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc 6.94M \u062f\u0631 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e \u0645\u062a\u0648\u0633\u0637 \u200b\u200b60ms \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p><strong>\u062a\u062c\u0631\u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0633\u0627\u062f\u0647<\/strong><\/p>\n<ul>\n<li>UI \u0628\u0635\u0631\u06cc \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u06cc \u062f\u0631\u062f\u0633\u0631.<\/li>\n<li>\u062e\u0637\u0648\u0637 \u0644\u0648\u0644\u0647 CI\/CD \u06a9\u0627\u0645\u0644\u0627\u064b \u062e\u0648\u062f\u06a9\u0627\u0631 \u0648 \u0627\u062f\u063a\u0627\u0645 GITOPS.<\/li>\n<li>\u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0648 \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0631\u0627\u06cc \u0628\u06cc\u0646\u0634 \u0647\u0627\u06cc \u0639\u0645\u0644\u06cc.<\/li>\n<\/ul>\n<p><strong>\u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc \u0628\u06cc \u062f\u0631\u062f\u0633\u0631 \u0648 \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627\u0644\u0627<\/strong><\/p>\n<ul>\n<li>\u0645\u0642\u06cc\u0627\u0633 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0647\u0645\u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u0644\u0627 \u0628\u0627 \u0633\u0647\u0648\u0644\u062a.<\/li>\n<li>\u0635\u0641\u0631 \u0633\u0631\u0628\u0627\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc &#8211; \u0641\u0642\u0637 \u0631\u0648\u06cc \u0633\u0627\u062e\u062a\u0645\u0627\u0646 \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<p>\u062f\u0631 \u0627\u0633\u0646\u0627\u062f \u0628\u06cc\u0634\u062a\u0631 \u06a9\u0627\u0648\u0634 \u06a9\u0646\u06cc\u062f!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz0ylhzgsc7cjulfb2yf.png\" alt=\"Leapcell \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f\" loading=\"lazy\" width=\"513\" height=\"120\" title=\"\"><\/p>\n<p>\u0645\u0627 \u0631\u0627 \u062f\u0631 X \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f: LeapCellHQ<\/p>\n<hr\/>\n<p>\u062f\u0631 \u0648\u0628\u0644\u0627\u06af \u0645\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Rust \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u062f\u0627\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u0628\u0631\u062f\u0627\u0631\u0647\u0627 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f (Vec) \u060c \u0646\u0642\u0634\u0647 \u0647\u0627\u06cc \u0647\u0634 (HashMap) \u060c \u0648 \u0645\u062c\u0645\u0648\u0639\u0647 \u0647\u0627\u06cc \u0647\u0634 (HashSet). \u0627\u06cc\u0646 \u0633\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0631\u0627\u06cc\u062c \u062a\u0631\u06cc\u0646 \u0648 \u0645\u0641\u06cc\u062f \u062f\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0647\u0633\u062a\u0646\u062f. \u0637\u0631\u0627\u062d\u06cc \u0622\u0646\u0647\u0627 \u0628\u0627 \u0627\u0647\u062f\u0627\u0641 Rust \u062f\u0631 \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0627\u06cc\u0645\u0646 \u060c \u0647\u0645\u0632\u0645\u0627\u0646 \u0648 \u0639\u0645\u0644\u06cc \u0647\u0645\u0627\u0647\u0646\u06af &hellip;<\/p>\n","protected":false},"author":2,"featured_media":100824,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-100823","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/100823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=100823"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/100823\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/100824"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=100823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=100823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=100823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}