{"id":944,"date":"2024-10-11T05:37:14","date_gmt":"2024-10-11T05:37:14","guid":{"rendered":"https:\/\/blue16.cn\/?p=944"},"modified":"2024-10-11T05:49:17","modified_gmt":"2024-10-11T05:49:17","slug":"%e7%ae%97%e6%b3%95%e5%ad%a6%e4%b9%a0","status":"publish","type":"post","link":"https:\/\/blue16.cn\/index.php\/2024\/10\/11\/944\/","title":{"rendered":"\u7b97\u6cd5\u5b66\u4e60"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u6392\u5e8f<\/h2>\n\n\n\n<p>\u300c\u6392\u5e8f\u7b97\u6cd5sorting algorithm\u300d\u7528\u4e8e\u5bf9\u4e00\u7ec4\u6570\u636e\u6309\u7167\u7279\u5b9a\u987a\u5e8f\u8fdb\u884c\u6392\u5217\u3002\u6392\u5e8f\u7b97\u6cd5\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\uff0c\u56e0\u4e3a\u6709<br>\u5e8f\u6570\u636e\u901a\u5e38\u80fd\u591f\u88ab\u66f4\u6709\u6548\u5730\u67e5\u627e\u3001\u5206\u6790\u548c\u5904\u7406\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5f52\u5e76\u6392\u5e8f<\/h3>\n\n\n\n<p>1.\u786e\u5b9a\u5206\u754c\u70b9\uff1amid=\uff08l+r\uff09\/2<\/p>\n\n\n\n<p>2.\u9012\u5f52\u6392\u5e8f\u5de6\u8fb9\u548c\u53f3\u8fb9<\/p>\n\n\n\n<p>3.==\u5f52\u5e76==\uff1a\u5408\u4e8c\u4e3a\u4e00<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ === File: merge_sort.java ===\n\/* \u5408\u5e76\u5de6\u5b50\u6570\u7ec4\u548c\u53f3\u5b50\u6570\u7ec4*\/\nvoid merge(int&#91;] nums, int left, int mid, int right) {\n\/\/ \u5de6\u5b50\u6570\u7ec4\u533a\u95f4&#91;left, mid], \u53f3\u5b50\u6570\u7ec4\u533a\u95f4&#91;mid+1, right]\n\/\/ \u521b\u5efa\u4e00\u4e2a\u4e34\u65f6\u6570\u7ec4tmp \uff0c\u7528\u4e8e\u5b58\u653e\u5408\u5e76\u540e\u7684\u7ed3\u679c\nint&#91;] tmp = new int&#91;right - left + 1];\n\/\/ \u521d\u59cb\u5316\u5de6\u5b50\u6570\u7ec4\u548c\u53f3\u5b50\u6570\u7ec4\u7684\u8d77\u59cb\u7d22\u5f15\nint i = left, j = mid + 1, k = 0;\n\/\/ \u5f53\u5de6\u53f3\u5b50\u6570\u7ec4\u90fd\u8fd8\u6709\u5143\u7d20\u65f6\uff0c\u6bd4\u8f83\u5e76\u5c06\u8f83\u5c0f\u7684\u5143\u7d20\u590d\u5236\u5230\u4e34\u65f6\u6570\u7ec4\u4e2d\nwhile (i &lt;= mid &amp;&amp; j &lt;= right) {\nif (nums&#91;i] &lt;= nums&#91;j])\ntmp&#91;k++] = nums&#91;i++];\nelse\ntmp&#91;k++] = nums&#91;j++];\n}\n\/\/ \u5c06\u5de6\u5b50\u6570\u7ec4\u548c\u53f3\u5b50\u6570\u7ec4\u7684\u5269\u4f59\u5143\u7d20\u590d\u5236\u5230\u4e34\u65f6\u6570\u7ec4\u4e2d\nwhile (i &lt;= mid) {\ntmp&#91;k++] = nums&#91;i++];\n}\nwhile (j &lt;= right) {\ntmp&#91;k++] = nums&#91;j++];\n}\n\/\/ \u5c06\u4e34\u65f6\u6570\u7ec4tmp \u4e2d\u7684\u5143\u7d20\u590d\u5236\u56de\u539f\u6570\u7ec4nums \u7684\u5bf9\u5e94\u533a\u95f4\nfor (k = 0; k &lt; tmp.length; k++) {\nnums&#91;left + k] = tmp&#91;k];\n}\n}\n\/* \u5f52\u5e76\u6392\u5e8f*\/\nvoid mergeSort(int&#91;] nums, int left, int right) {\n\/\/ \u7ec8\u6b62\u6761\u4ef6\nif (left >= right)\nreturn; \/\/ \u5f53\u5b50\u6570\u7ec4\u957f\u5ea6\u4e3a1 \u65f6\u7ec8\u6b62\u9012\u5f52\n\/\/ \u5212\u5206\u9636\u6bb5\nint mid = (left + right) \/ 2; \/\/ \u8ba1\u7b97\u4e2d\u70b9\nmergeSort(nums, left, mid); \/\/ \u9012\u5f52\u5de6\u5b50\u6570\u7ec4\nmergeSort(nums, mid + 1, right); \/\/ \u9012\u5f52\u53f3\u5b50\u6570\u7ec4\n\/\/ \u5408\u5e76\u9636\u6bb5\nmerge(nums, left, mid, right);\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5feb\u901f\u6392\u5e8f<\/h3>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ === File: quick_sort.java ===\n\/* \u5143\u7d20\u4ea4\u6362*\/\nvoid swap(int&#91;] nums, int i, int j) {\nint tmp = nums&#91;i];\nnums&#91;i] = nums&#91;j];\nnums&#91;j] = tmp;\n}\n\/* \u54e8\u5175\u5212\u5206*\/\nint partition(int&#91;] nums, int left, int right) {\n\/\/ \u4ee5nums&#91;left] \u4f5c\u4e3a\u57fa\u51c6\u6570\nint i = left, j = right;\nwhile (i &lt; j) {\nwhile (i &lt; j &amp;&amp; nums&#91;j] >= nums&#91;left])\nj--; \/\/ \u4ece\u53f3\u5411\u5de6\u627e\u9996\u4e2a\u5c0f\u4e8e\u57fa\u51c6\u6570\u7684\u5143\u7d20\nwhile (i &lt; j &amp;&amp; nums&#91;i] &lt;= nums&#91;left])\ni++; \/\/ \u4ece\u5de6\u5411\u53f3\u627e\u9996\u4e2a\u5927\u4e8e\u57fa\u51c6\u6570\u7684\u5143\u7d20\nswap(nums, i, j); \/\/ \u4ea4\u6362\u8fd9\u4e24\u4e2a\u5143\u7d20\n}\nswap(nums, i, left); \/\/ \u5c06\u57fa\u51c6\u6570\u4ea4\u6362\u81f3\u4e24\u5b50\u6570\u7ec4\u7684\u5206\u754c\u7ebf\nreturn i; \/\/ \u8fd4\u56de\u57fa\u51c6\u6570\u7684\u7d22\u5f15\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c\u5206<\/h3>\n\n\n\n<p>\u4e8c\u5206\u7684\u672c\u8d28\u4e0d\u662f\u5355\u8c03\u6027\uff0c\u800c\u662f\u627e\u5230\u4e00\u79cd\u6027\u8d28\u5212\u5206\u62102\u4e2a\u533a\u95f4\uff0c\u4e00\u4e2a\u6ee1\u8db3\u6027\u8d28\uff0c\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6574\u6570\u4e8c\u5206<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>    #include&lt;iostream>\n    using namespace std;\n\n    const int N=100010;\n    int n,m;\n    int q&#91;N];\n    int main(){\n        scanf(\"%d%d\",&amp;n,&amp;m);\n        for(int i=0;i&lt;n;i++)scanf(\"%d\",&amp;q&#91;i]);\n        while(m--)\n        {\n            int x;\n            scanf(\"%d\",&amp;x);\n            int l=0,r=n-1;\n            while(l&lt;r)\n             {\n                int mid = l+r>>1;\n                if (q&#91;mid]>=x)r=mid;\n                else l=mid+1;\n            }\n            if(q&#91;&#91;l]!=x])cout&lt;&lt;\"-1 -1\"&lt;&lt;endl;\n            else\n            {\n                cout&lt;&lt;1&lt;&lt;' ';\n                int l=0,r=n-1;\n                while(l&lt;r)\n                {\n                    int mid = l+r>>1;\n                    if(q&#91;mid]&lt;==x)l=mid;\n                    else r=mid-1;\n                }\n                cout&lt;&lt;1&lt;&lt;endl;\n            }\n        }\n        return 0;\n    }<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u6d6e\u70b9\u4e8c\u5206<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>#include&lt;iostream>\n    using namespace std;\n\n    const int N=1000010;\n    int n;\n    int q&#91;n];\n\n    int main(){\n        double x;\n        cin>>x;\n        double l=0,r=x;\n        while(r-l>1e-8)\n        {\n            double mid=(l+r)\/2;\n            if(mid*mid>=x)r=mid;\n            else l=mid;\n        }\n        print(\"%lf\\n\",1);\n        return 0;\n    }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u524d\u7f00\u548c\u5dee\u5206<\/h2>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6392\u5e8f \u300c\u6392\u5e8f\u7b97\u6cd5sorting algorithm\u300d\u7528\u4e8e\u5bf9\u4e00\u7ec4\u6570\u636e\u6309\u7167\u7279\u5b9a\u987a\u5e8f\u8fdb\u884c\u6392\u5217\u3002\u6392\u5e8f\u7b97\u6cd5\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,27,58],"tags":[],"class_list":["post-944","post","type-post","status-publish","format-standard","hentry","category-study","category-study_note","category-58"],"_links":{"self":[{"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/posts\/944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/comments?post=944"}],"version-history":[{"count":3,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/posts\/944\/revisions"}],"predecessor-version":[{"id":949,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/posts\/944\/revisions\/949"}],"wp:attachment":[{"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/media?parent=944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/categories?post=944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blue16.cn\/index.php\/wp-json\/wp\/v2\/tags?post=944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}