{"id":4822,"date":"2023-09-23T21:59:11","date_gmt":"2023-09-23T12:59:11","guid":{"rendered":"https:\/\/attacktube.com\/?p=4822"},"modified":"2023-09-23T22:57:58","modified_gmt":"2023-09-23T13:57:58","slug":"%e3%80%90c%e8%a8%80%e8%aa%9e%e3%80%91%e4%ba%8c%e5%88%86%e6%8e%a2%e7%b4%a2","status":"publish","type":"post","link":"https:\/\/attacktube.com\/?p=4822","title":{"rendered":"\u3010C\u8a00\u8a9e\u3011\u4e8c\u5206\u63a2\u7d22(binary seach)"},"content":{"rendered":"\n<p>\u4e8c\u5206\u63a2\u7d22(binary seach)\u3092\u5b9f\u88c5\u3059\u308b\u3068\u6b21\u306e\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n\n\n\n<!--more-->\n\n\n\n<br>\n<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-3461056110605997\" crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-3461056110605997\" data-ad-slot=\"3137443461\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n<br>\n\n\n\n<p>\u6b21\u306e\u30b3\u30fc\u30c9\u3092binarySearch.c\u3068\u3059\u308b\u3002<br><br>\u74b0\u5883<br>windows10(64bit)<br>Borland C++ 5.5.1 for Win32<\/p>\n\n\n\n<pre><code>\n#include &lt;stdio.h&gt;\n\nint binarySearch(int arr[], int n, int target) {\n\n    int left = 0;\n    int right = n - 1;\n    int ctr = 0;\n\n    while (left &lt;= right) {\n\n        int mid = (left + right) \/ 2;\n\n        ctr += 1;\n\n        printf(&quot;ctr = %d, left = %d,right = %d,mid = %d\\n&quot;,ctr, left,right,mid);\n\n        if (target == arr[mid]){\n            return mid;\n        }else if (target &lt; arr[mid]){\n            right = mid - 1;\n            printf(&quot;right(= mid - 1) = %d\\n&quot;,right);\n        }else{\n           left = mid + 1;\n           printf(&quot;left(= mid + 1) = %d\\n&quot;,left);\n        }\n\n    }\n\n    return -1;  \/\/ Target not found\n}\n\nint main() {\n\n    int arr[] = {13, 26, 41, 52, 73, 85, 95};\n    int n = sizeof(arr) \/ sizeof(arr[0]);\n    int result;\n    int target;\n\n    printf(&quot;\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\\n&quot;);\n    printf(&quot;\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\\n&quot;);\n\n    scanf(&quot;%d&quot;, &amp;target);\n    printf(&quot;target = %d\\n&quot;,target);\n\t\n    result = binarySearch(arr, n, target);\n    \n    if (result == -1){\n        printf(&quot;Target not found\\n&quot;);\n    }else{\n        printf(&quot;Target found at index: %d, arr[%d] = %d \\n&quot;, result, result, arr[result]);\n    }\n\n    return 0;\n\n}\n<\/code><\/pre>\n\n\n\n<p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u5b9f\u884c\u3059\u308b\u3002<\/p>\n\n\n\n<pre><code>\nc:\\coco_c&gt;bcc32 binarySearch.c\nBorland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland\nbinarySearch.c:\nTurbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n13\ntarget = 13\nctr = 1, left = 0,right = 6,mid = 3\nright(= mid - 1) = 2\nctr = 2, left = 0,right = 2,mid = 1\nright(= mid - 1) = 0\nctr = 3, left = 0,right = 0,mid = 0\nTarget found at index: 0, arr[0] = 13\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n26\ntarget = 26\nctr = 1, left = 0,right = 6,mid = 3\nright(= mid - 1) = 2\nctr = 2, left = 0,right = 2,mid = 1\nTarget found at index: 1, arr[1] = 26\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n41\ntarget = 41\nctr = 1, left = 0,right = 6,mid = 3\nright(= mid - 1) = 2\nctr = 2, left = 0,right = 2,mid = 1\nleft(= mid + 1) = 2\nctr = 3, left = 2,right = 2,mid = 2\nTarget found at index: 2, arr[2] = 41\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n52\ntarget = 52\nctr = 1, left = 0,right = 6,mid = 3\nTarget found at index: 3, arr[3] = 52\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n73\ntarget = 73\nctr = 1, left = 0,right = 6,mid = 3\nleft(= mid + 1) = 4\nctr = 2, left = 4,right = 6,mid = 5\nright(= mid - 1) = 4\nctr = 3, left = 4,right = 4,mid = 4\nTarget found at index: 4, arr[4] = 73\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n85\ntarget = 85\nctr = 1, left = 0,right = 6,mid = 3\nleft(= mid + 1) = 4\nctr = 2, left = 4,right = 6,mid = 5\nTarget found at index: 5, arr[5] = 85\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n95\ntarget = 95\nctr = 1, left = 0,right = 6,mid = 3\nleft(= mid + 1) = 4\nctr = 2, left = 4,right = 6,mid = 5\nleft(= mid + 1) = 6\nctr = 3, left = 6,right = 6,mid = 6\nTarget found at index: 6, arr[6] = 95\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n100\ntarget = 100\nctr = 1, left = 0,right = 6,mid = 3\nleft(= mid + 1) = 4\nctr = 2, left = 4,right = 6,mid = 5\nleft(= mid + 1) = 6\nctr = 3, left = 6,right = 6,mid = 6\nleft(= mid + 1) = 7\nTarget not found\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n1\ntarget = 1\nctr = 1, left = 0,right = 6,mid = 3\nright(= mid - 1) = 2\nctr = 2, left = 0,right = 2,mid = 1\nright(= mid - 1) = 0\nctr = 3, left = 0,right = 0,mid = 0\nright(= mid - 1) = -1\nTarget not found\n\nc:\\coco_c&gt;\n<\/code><\/pre>\n\n\n\n<p>binarySearch\u95a2\u6570\u306e\u5225\u89e3\u3002<br>binarySearch\u95a2\u6570\u306f\u300cC\u8a00\u8a9e\u306b\u3088\u308b\u6700\u65b0\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u6642\u70b9 \u5965\u6751\u6674\u5f66\u8457\u300d\u306b\u8f09\u3063\u3066\u3044\u305f\u3002<br>\u3053\u306e\u5225\u89e3\u306f\u5206\u304b\u308a\u305a\u3089\u3044\u306a\u3002<br>binarySearch.c<\/p>\n\n\n\n<pre><code>\n#include &lt;stdio.h&gt;\n\nint binarySearch(int arr[], int n, int target) {\n\tint left = 0;\n\tint right = n - 1;\n\tint mid;\n\tint ctr = 0;\n\n\twhile(left &lt; right){\n\t\tctr += 1;\n\t\tmid = (left + right) \/ 2;\n\t\tif(arr[mid] &lt; target) left = mid + 1; else right = mid;\n\t\tprintf(&quot;ctr = %d, left = %d,right = %d, mid = %d\\n&quot;,ctr, left, right, mid);\n\t}\n\n\tif (arr[left] == target) return left;\n\treturn -1;\n\n}\n\nint main() {\n\n\tint arr[] = {13, 26, 41, 52, 73, 85, 95};\n\tint n = sizeof(arr) \/ sizeof(arr[0]);\n\tint result;\n\tint target;\n\n\tprintf(&quot;\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\\n&quot;);\n\tprintf(&quot;\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\\n&quot;);\n\n\tscanf(&quot;%d&quot;, &amp;target);\n\tprintf(&quot;target = %d\\n&quot;,target);\n\n\tresult = binarySearch(arr, n, target);\n\n\tif (result == -1){\n\t\tprintf(&quot;Target not found\\n&quot;);\n\t}else{\n\t\tprintf(&quot;Target found at index: %d, arr[%d] = %d \\n&quot;, result, result, arr[result]);\n\t}\n\n\treturn 0;\n\n}\n<\/code><\/pre>\n\n\n\n<p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u5b9f\u884c\u3059\u308b\u3002<\/p>\n\n\n\n<pre><code>\nc:\\coco_c&gt;bcc32 binarySearch.c\nBorland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland\nbinarySearch.c:\nTurbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n13\ntarget = 13\nctr = 1, left = 0,right = 3, mid = 3\nctr = 2, left = 0,right = 1, mid = 1\nctr = 3, left = 0,right = 0, mid = 0\nTarget found at index: 0, arr[0] = 13\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n26\ntarget = 26\nctr = 1, left = 0,right = 3, mid = 3\nctr = 2, left = 0,right = 1, mid = 1\nctr = 3, left = 1,right = 1, mid = 0\nTarget found at index: 1, arr[1] = 26\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n41\ntarget = 41\nctr = 1, left = 0,right = 3, mid = 3\nctr = 2, left = 2,right = 3, mid = 1\nctr = 3, left = 2,right = 2, mid = 2\nTarget found at index: 2, arr[2] = 41\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n52\ntarget = 52\nctr = 1, left = 0,right = 3, mid = 3\nctr = 2, left = 2,right = 3, mid = 1\nctr = 3, left = 3,right = 3, mid = 2\nTarget found at index: 3, arr[3] = 52\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n73\ntarget = 73\nctr = 1, left = 4,right = 6, mid = 3\nctr = 2, left = 4,right = 5, mid = 5\nctr = 3, left = 4,right = 4, mid = 4\nTarget found at index: 4, arr[4] = 73\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n85\ntarget = 85\nctr = 1, left = 4,right = 6, mid = 3\nctr = 2, left = 4,right = 5, mid = 5\nctr = 3, left = 5,right = 5, mid = 4\nTarget found at index: 5, arr[5] = 85\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n95\ntarget = 95\nctr = 1, left = 4,right = 6, mid = 3\nctr = 2, left = 6,right = 6, mid = 5\nTarget found at index: 6, arr[6] = 95\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n100\ntarget = 100\nctr = 1, left = 4,right = 6, mid = 3\nctr = 2, left = 6,right = 6, mid = 5\nTarget not found\n\nc:\\coco_c&gt;binarySearch.exe\n\u914d\u5217\u306b\u6570\u5b57n\u304c\u3042\u308b\u304b\u3092\u4e8c\u5206\u63a2\u7d22\u3067\u8abf\u3079\u308b\u3002\n\u6570\u5b57n\u3092\u5165\u529b\u305b\u3088\n1\ntarget = 1\nctr = 1, left = 0,right = 3, mid = 3\nctr = 2, left = 0,right = 1, mid = 1\nctr = 3, left = 0,right = 0, mid = 0\nTarget not found\n\nc:\\coco_c&gt;\n<\/code><\/pre>\n\n\n\n<script type=\"text\/javascript\">\njQuery(function($){\n$(\".jp-video\").hide();\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u4e8c\u5206\u63a2\u7d22(binary seach)\u3092\u5b9f\u88c5\u3059\u308b\u3068\u6b21\u306e\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-4822","post","type-post","status-publish","format-standard","hentry","category-c"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/posts\/4822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/attacktube.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4822"}],"version-history":[{"count":11,"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/posts\/4822\/revisions"}],"predecessor-version":[{"id":4841,"href":"https:\/\/attacktube.com\/index.php?rest_route=\/wp\/v2\/posts\/4822\/revisions\/4841"}],"wp:attachment":[{"href":"https:\/\/attacktube.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/attacktube.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/attacktube.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}