Advertisement
I_LIKE_COFFEE

Binary sort

Oct 14th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.81 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <iso646.h>
  4. #include <malloc.h>
  5.  
  6. int main(){
  7.     int n = 0, targed = 0, first = 0, last = 0,  middle = 0;
  8.     printf("Input count: \n");
  9.     scanf("%d", &n);
  10.  
  11.     int* arr = (int*)malloc(n * sizeof(int));
  12.     for (int i = 0; i < n; i++)
  13.         scanf("%d", &arr[i]);
  14.     printf("Mas: \n");
  15.     for (int i = 0; i < n; i++)
  16.         printf("%d ", arr[i]);
  17.     printf("\nInput target: \n");
  18.     scanf("%d", &targed);
  19.  
  20.     last = n - 1;
  21.     middle = (first + last) / 2;
  22.  
  23.     while (first <= last){
  24.         if (arr[middle] == targed){
  25.             printf("El has index: %d", middle + 1);
  26.             break;
  27.         }
  28.         else if (arr[middle] > targed)
  29.             last = middle - 1;
  30.         else if (arr[middle] < targed)
  31.             first = middle + 1;
  32.         middle = (first + last) / 2;
  33.     }
  34.  
  35.     if (first > last)
  36.         printf("Not found el");
  37.  
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement