/
Pereroncino
/
Proga
Обзор
Документация
Войти
/
Pereroncino
/
Proga
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lab7(3).cpp
83 строки
2 KB
Pereroncino
create: lab7(3).cpp
11 май 2026, 13:42
Верифицирован
11 май 2026, 13:42
aab6ec7
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> #include <time.h> const int N1 = 100; const int N2 = 1000; void SortDescending(int A[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (A[j] < A[j + 1]) { temp = A[j]; A[j] = A[j + 1]; A[j + 1] = temp; } } } } int LinearSearch(int A[], int n, int key, int *iterations) { int i; *iterations = 0; for (i = 0; i < n; i++) { (*iterations)++; if (A[i] == key) { return i; } } return -1; } int BinarySearch(int A[], int n, int key, int *iterations) { int low = 0, high = n - 1, mid; *iterations = 0; while (low <= high) { (*iterations)++; mid = low + (high - low) / 2; if (A[mid] == key) { return mid; } if (key > A[mid]) { high = mid - 1; } else { low = mid + 1; } } return -1; } void RunTest(int n) { int A[n]; int i, key, index; int linear_iter, binary_iter; printf("\nN = %d\n", n); for (i = 0; i < n; i++) { A[i] = rand() % 5000; } SortDescending(A, n); key = A[n / 2]; printf("\nПоиск элемента: %d\n", key); index = LinearSearch(A, n, key, &linear_iter); printf("Линейный поиск: индекс=%d, итераций=%d\n", index, linear_iter); index = BinarySearch(A, n, key, &binary_iter); printf("Бинарный поиск: индекс=%d, итераций=%d\n", index, binary_iter); } int main() { srand(time(NULL)); RunTest(N1); RunTest(N2); return 0; }