#include #include using namespace std; const int m = 1000; // Размер хеш-таблицы struct Node { int key; Node* next; Node(int k) : key(k), next(nullptr) { } }; vector table(m, nullptr); // Хеш-таблица // Функция хеширования int hash_func(int key) { return key % m; } // Функция добавления элемента в хеш-таблицу void insert(int key) { int h = hash_func(key); Node* node = new Node(key); node->next = table[h]; table[h] = node; } // Функция поиска максимального элемента в хеш-таблице int max_element() { int max = 0; for (int i = 0; i < m; i++) { Node* node = table[i]; while (node != nullptr) { if (node->key > max) { max = node->key; } node = node->next; } } return max; } // Функция вывода содержимого хеш-таблицы void print_table() { for (int i = 0; i < m; i++) { cout << "Хеш " << i << ": "; Node* node = table[i]; while (node != nullptr) { cout << node->key << " "; node = node->next; } cout << endl; } } int main() { // Заполнение хеш-таблицы случайными тремзначными числами for (int i = 0; i < 100; i++) { int key = rand() % 900 + 100; insert(key); } // Вывод содержимого хеш-таблицы print_table(); // Поиск максимального элемента в хеш-таблице int max = max_element(); cout << "Максимальный элемент в хеш-таблице: " << max << endl; return 0; }