Учебное пособие C#. Алгоритмы и структуры данных н. А. Тюкачев, В. Г. Хлебостроев издание третье, стереотипное 1 / 23


Download 1.85 Mb.
Pdf ko'rish
bet27/111
Sana19.11.2023
Hajmi1.85 Mb.
#1786905
TuriУчебное пособие
1   ...   23   24   25   26   27   28   29   30   ...   111
Bog'liq
C# Алгоритмы и структуры данных 2018 Тюкачев, Хлебостроев

Листинг 2.13. Класс хеш-таблицы 
class MyHash 
11 / 23


35 

public int sizeTable; // 
размер таблицы; 
static int step = 37; //
шаг для разрешения 
//
коллизий 
int size; // 
число элементов в таблице 
public THashItem[] h; // 
хеш-таблица 
public MyHash(int sizeTable) // 
конструктор 
public void HashInit() // 
метод инициализации 
int hashKey(string s) // 
хеш-функция 
public int AddHash(string fio, //
метод добавления 
//
элемента 
string phone)
void ClearVisit() //
метод очистки полей 
//
посещения
public bool DelHash(string phone, out int i) 
//
метод удаления элемента 
public int FindHash(string phone, // 
метод поиска 
//
по ключу 
out string FIO, out int count) 

Конструктор класса задает размер таблицы и инициализирует массив 
h[]. 
Листинг 2.14. Конструктор класса 
public MyHash(int sizeTable) 

this.sizeTable = sizeTable; 
h = new THashItem[sizeTable]; 
HashInit(); 

Метод HashInit() представлен в листинге 2.15.
12 / 23


36 
Листинг 2.15. Метод инициализации 
public void HashInit() 

size = 0; 
for (int i=0; i
this.h[i].empty = true; 
this.h[i].visit = false; 

Для демонстрации работы с хеш-таблицей создадим оконное приложе-
ние. На форме разместим элемент управления DataGridView, два элемента 
TextBox
для ввода и вывода данных, а также кнопки для выполнения опе-
раций заполнения таблицы, добавления, удаления и поиска абонентов 
(рис. 2.1). 
Рис. 2.1. Форма с элементами управления 
13 / 23


37 
Создание объекта происходит в классе FormMain, там же подготавли-
вается элемент dataGridView1
.

Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   111




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling