![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Алёнка |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.2.2005 Репутация: нет Всего: нет |
Народ!Может кто-нибудь сможет мне помочь. Мне нужно написать прогу hash-таблица. Т.е. все операции с хэш-таблицей: поиск, добавить, найти, минимум.
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Начинай, мы поможем, если будут вопросы
![]() |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
на сколько я понимаю хаш таблица это в стл map и multimap
советую заглянуть в реализацию по этим классам, станет легче ) Ну а что не ясно обращайся, "поможем", как сказал sergej.z |
|||
|
||||
pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Нет. Таблица хаш это не map, multimap, т.к они реализованы ввиде сбалансированного бинарного дерева. Это чуток из другой оперы. ![]() -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
хорошо!!! Объясни тогда что это такое, что бы знать на будущее ![]() |
||||
|
|||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
||||
|
||||
Алёнка |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.2.2005 Репутация: нет Всего: нет |
все внимательно прочитала. даже фигню какую то по аглицки. тока мало что поняла. про хэш таблицу нам на лекциях впаривали. я экзамен сдавала. что это такое я знаю. сама могу кому угодно объяснить. у меня проблема именно с программой.
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Алёнка, а ссылку chaos попросил.
![]() В чём проблема с программой? Не знаешь как начать? Как закончить? Уже есть наброски? Выкладывай что есть. (фигню по англицки не надо ![]() |
|||
|
||||
bel_nikita |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Вот, примерчик ХЭШ
![]()
Типа использование. Думаю понятно, особо объяснять не нужно
|
||||||
|
|||||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
bel_nikita, а теперь без ассемблера и не только для стрингов, плиз
![]() -------------------- ![]() |
|||
|
||||
pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Извините за дизинформацию. Map прекрасно подходит для этих целей, но надо прeдусмотреть выявление коллизий. Согласно дяде Бъерну Страуструпу, для организации хеш таблиц в стандартной библиотеке предусмотрены два контейнера. map<string, int> m1; //сравнение строк при помоши оператора < map<string, int, Nocase> // сравнение строк при помощи оператора Nocase hash_map<string, int, hfct> //хеширование при помощи hfct, бес этой функции хеширование будет при помощи Hash<string> и сравнение при помощи оператора == hash_map<string, int, hfct, eql> //хеширование при помощи hfct, сравнение при помощи eql -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
Алёнка |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.2.2005 Репутация: нет Всего: нет |
само задание звучит так: хэш таблица + минимум. для реализации минимума испльзовать кучу.
куча это такая штука, когда сыновья меньше чем отец. т.е. самый главный папаша самый большой. его сыновья меньше. сыновья сыновей еще меньше и т.д.по крайней мере препод так объяснял. пусть у нас будет 10 ячеек в хэш таблице. в хэш таблицу приходит данное с некоторым ключом например 13. оно помещается в ячейку 3. если придет данное с ключом 23. то оно поместится в ячейку 4 т.к. ячейка 3 уже занята. либо можно на каждой ячейке использовать указатель на ключ. вот такие дела. ![]() если честно проблема с самим заданием. ни начать ни закончить не могу. еще более или менее могу с вычматом разобратся, но указатели это не моё. а препод уже пообещал троих отчислить из-за того что группа большая ![]() а этот код который мне написал bel nikita он на ассемблере написан? я уже сотню раз такое встречала но нас такому не учили. он чем то на C++ похож. а насколько они похожи мне кто нибудь сказать может? Это сообщение отредактировал(а) Алёнка - 24.2.2005, 15:33 |
|||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Алёнка
У асм'а с С++ ничего общего нет. Просто большинство компиляторов для( + если я не ошибаюсь, в си вообще стандартом предусмотрены вставки из асм'а) си поддерживает вставки из асм'а + дебугер разбирает код переведенный на асм. Это сообщение отредактировал(а) En_t_end - 24.2.2005, 16:34 |
|||
|
||||
Алёнка |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.2.2005 Репутация: нет Всего: нет |
хорошо. а как ту штуку с ассемблера на с++ перевести. мне этот язык абсолютно незнаком. я пару раз видела какие то программы которые переводят с одного языка на другой, но это было давно. где их можно найти?
|
|||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Не знаю, я только встречал дизассемблеры - программы дизассемблирующие машинный код. Одним я как раз активно пользуюсь.
![]() Логически возможен перевод с одного языка на другой, но я о таком не слышал, набери в гугле запрос. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |