|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.05.2014, 22:17 | #1 |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
Хэш таблица
Всем привет.
Вот создаю хэш таблицу. Не могу кое-что понять. Вводимые данные - строка. Хэш фу-я - суммирует коды аски всех букв из строки и делит на 7. Ключи - от 0 до 6. Код:
_list* head0,head1,head2,head3,head4,head5 ,head6; То есть, мне нужно 7 списков. Сначала я думал создать их отдельно, но понял, что потом будет много мороки. Решил создать массив из 7 структур. Помогите, пожалуйста, как мне записать этот массив. Я хотел бы сразу присвоить каждому элементу свой список, именно в объявлении. Типу _list *heads[]={head0,head1,head2}, но у меня выдаёт ошибку, что-то с указателями не то, но я не шарю что именно. Не могу понять. Спасибо. |
20.05.2014, 22:27 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
1) Не нужно кросспостить
2) Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
20.05.2014, 23:00 | #3 | |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
Цитата:
После того, как выполнился этот цикл? |
|
20.05.2014, 23:23 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Да. Алгоритм примерно:
Посчитали хеш Выбрали список, куда добавлять Если элемент NULL, то выделили память, занесли в структуру строку и указатель next инициализировали NULL, присвоили элементу адрес структуры Если элемент не NULL, то проверили на совпадение со строкой, хранящейся в структуре по имеющемуся адресу, если совпало, то добавлять не нужно (наверное), а если не совпало, то по указателю в структуре движетесь по списку (сравнение проводить для каждой структуры в списке), пока не дойдете до NULL, куда нужно "привесить" новую структуру
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 20.05.2014 в 23:26. |
20.05.2014, 23:28 | #5 | |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
Цитата:
Это-то я понял, я просто не мог понять, как занести свои списки для хранения value в массив. Никак не получилось( |
|
20.05.2014, 23:41 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
20.05.2014, 23:44 | #7 |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
|
20.05.2014, 23:53 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Если судить по коду в первом сообщении:
Объявлен тип list_, а производится попытка объявления переменных типа _list Запись _list* head0,head1... обозначает _list* head и _list head1 (head0 - указатель на _list, head1 - переменная типа _list). UPD Пожалуйста
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 21.05.2014 в 00:16. |
20.05.2014, 23:57 | #9 | |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
Цитата:
Юный программист доволен :3 |
|
21.05.2014, 14:42 | #10 |
Пользователь
Регистрация: 09.09.2013
Сообщений: 83
|
Гляньте, плиз, код. Что-то он вылетает при добавлении value в хэш таблицу.
Хэш функция - суммирование аски кодов всех символов стринга и деление на 7. Получается 7 кеев - 0,1,2,3,4,5,6. Не знаю, из-за чего именно вылетает. Написаны 2 фу-и - добавление и вывод на экран. При использовании фу-и добавление, прога вылетает. Пишет, что добавление успешно завершено и тухнет. Помогите, пожалуйста. Спасибо. ЗЫ. Дебагером пользоваться не умею, но вот что-то там прочёл при нахождение ошибки. 1 - program received signal sigtrap trace/breakpoint trap 2 - ntdll!RtlUnhandledExceptionFilter() Не знаю, это важное что-то или просто хлам. Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хэш таблица | guroDragon | Помощь студентам | 2 | 19.05.2014 21:28 |
хэш таблица | R0807D06 | Общие вопросы C/C++ | 1 | 13.08.2013 15:51 |
Хэш-таблица. Метод цепочек. C++ | Playa-RC | Помощь студентам | 0 | 10.03.2012 15:07 |
хэш-таблица с открытой адресацией | Olya13254 | Помощь студентам | 0 | 04.01.2011 17:27 |