Pārlūkot izejas kodu

二分搜索算法的实现

webturing 4 gadi atpakaļ
vecāks
revīzija
12cddb6574
1 mainītis faili ar 29 papildinājumiem un 0 dzēšanām
  1. 29 0
      A.cpp

+ 29 - 0
A.cpp

@@ -0,0 +1,29 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+int main() {
+    int a[10], k;
+    for (int i = 0; i < 10; i++) {
+        cin >> a[i];
+    }
+    cin >> k;
+    int left = 0, right = 9;
+    bool flag = false;
+    while (left <= right) {
+        int mid = (left + right) / 2;
+        if (a[mid] == k) {
+            cout << mid << endl;
+            flag = true;
+            break;
+        } else if (k > a[mid]) {
+            left = mid + 1;
+        } else {
+            right = mid - 1;
+        }
+    }
+    if (!flag) {
+        cout << "Not exist!" << endl;
+    }
+    return 0;
+}