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


Листинг 2.16. Подготовка элементов в FormMain()


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

Листинг 2.16. Подготовка элементов в FormMain() 
MyHash myHash = new MyHash(301);
public Form1() 

InitializeComponent(); 
dataGridView1.Columns.Add("
Номер", "Номер"); 
dataGridView1.Columns["
Номер"].Width = 50; 
dataGridView1.Columns.Add("
Телефон", "Телефон"); 
dataGridView1.Columns["
Телефон"].Width = 80; 
dataGridView1.Columns.Add("
Фамилия", "Фамилия"); 
dataGridView1.Columns["
Фамилия"].Width = 140; 
dataGridView1.AllowUserToAddRows = false; 
btnAdd.Visible = false; 
btnDel.Visible = false; 

Для заполнения хеш-таблицы используются данные из текстового фай-
ла, состоящего из пар строк, первая из которых содержит фамилию абонента, 
вторая – номер телефона. Метод, реализующий процедуру заполнения, пред-
ставлен в листинге, происходит при нажатии клавиши buttonAdd180
Листинг 2.17. Заполнение хеш-таблицы 
void FillHashTable() 

FileStream file = new FileStream("phoneBook.txt", 
FileMode.Open); 
StreamReader strReader = new StreamReader(file); 
dataGridView1.RowCount = myHash.sizeTable; 
string fio, phone; 
for (int i = 0; i < myHash.sizeTable; i++) 
14 / 23


38 
dataGridView1[0, i].Value = Con-
vert.ToString(i); 
while ((fio = strReader.ReadLine()) != null && 
(phone = strReader.ReadLine()) != null) 
myHash.AddHash(fio, phone); 
strReader.Close(); 

Этот метод вызывается из обработчика клика для кнопки «Заполнить 
таблицу». 
Листинг 2.18. Обработчик клика по кнопке заполнения 
private void buttonAdd180_Click(object sender, Even-
tArgs e) 

FillHashTable(); 
ShowHash(); 
buttonAdd180.Visible = false; 
btnAdd.Visible = true; 
btnDel.Visible = true; 

При добавлении элемента в хеш-таблицу может возникнуть ее пере-
полнение. Поэтому алгоритм добавления оформлен в виде функции целого 
типа: результатом ее будет индекс добавленного элемента или –1, если таб-
лица переполнена. Алгоритм добавления элемента в хеш-таблицу приведен в 
листинге 2.19. 

Download 1.85 Mb.

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




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