Упражнения на C: выполнить бинарный поиск в массиве
Тип переменной C: Упражнение-12 с решением
Напишите программу на C для выполнения двоичного поиска в массиве.
Пример решения :
Код C:
#include<stdio.h>
#include<stdlib.h>
int compare_integers (const void * x, const void * y)
{
return ( *(int*)x - *(int*)y );
}
int main ()
{
int * arrItem;
int findValue;
int my_array[100];
int n,i;
printf("\nInput the number of elements to be stored in the array :");
scanf("%d",&n);
printf("Input %d elements in the array :\n",n);
for(i=0;i<n;i++)
{
printf("element - %d : ",i+1);
scanf("%d",&my_array[i]);
}
printf (" Input a value to search : ");
scanf ("%d", &findValue);
arrItem = (int*) bsearch (&findValue,
my_array, n, sizeof (int), compare_integers);
if (arrItem != NULL)
printf ("%d is found in the array.\n\n",*arrItem);
else
printf ("%d is not found in the array.\n\n",findValue);
return 0;
}
Пример вывода:
Введите количество элементов, которые будут сохранены в массиве: 5 Введите 5 элементов в массиве: стихия - 1: 10 стихия - 2: 15 стихия - 3: 20 стихия - 4: 25 стихия - 5: 30 Введите значение для поиска: 20 20 находится в массиве.
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Previous: написать программу на C для выделения блока памяти для массива.
Далее: Напишите программу на C для преобразования строки в целое число.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code