Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

ХЕШИРОВАНИЕ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа выдает ошибку при запуске error executing program http://www.cyberforum.ru/cpp-beginners/thread78268.html
программа выдает ошибку при запуске error executing program ,при этом компилируется все нормально,визуал студия никаких предупреждений не выдает.я подозреваю,что порчу где то память,но не могу...
C++ Удаление записи в бинарном файле Доброго времени суток, уважаемые. По заданию надо удалить запись из бинарного файла, скажите, есть ли какая-либо функция для этого? Запись происходит так: ofstream f; f.open("base", ios::binary |... http://www.cyberforum.ru/cpp-beginners/thread78266.html
Последовательность слов и файлы C++
1) Дана последовательность слов длиной до десяти символов каждое, разделенных пробелами. Найти слово с максимальной длиной. 2) Дан текстовый файл F. Переписать в другой файл G все слова, длина...
C++ Ошибка при запуске программы
помогите исправить, программа компилируется, но выдаёт ошибку #include <iostream> #include <conio.h> using namespace std; typedef struct line{ int a,b,c;//line: a*i+b*j+c vektor ...
C++ Блоксхема к двум небольшим программам http://www.cyberforum.ru/cpp-beginners/thread78230.html
Народ помогите кто-нибудь нарисовать или начертить блок схему вот к таким программам,очень нужно,заранее спасибо,если что-то нужно обращайтесь. Просто если в ближайшие пару дней не сдам, к сессии...
C++ Функция Помогите пожалуйста с написание проги в виде функции http://www.cyberforum.ru/attachment.php?attachmentid=16928&stc=1&d=1261497133 подробнее

Показать сообщение отдельно
as
36 / 22 / 3
Регистрация: 14.02.2009
Сообщений: 355

ХЕШИРОВАНИЕ - C++

22.12.2009, 21:59. Просмотров 1972. Ответов 0
Метки (Все метки)

Всем привет!
Нужно написать лабу по линейному зондированию.
Взял из Седжвика алгоритм, но он не работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
template <class Item, class Key>class ST
{
public:
Item *st;
int N, M;
Item nul1Item;
 
ST(int maxN)
{
 N = 0; M = 2*maxN;
 st = new Item[M] ;
 for (int i = 0; i < M; i++)
 st[i] = nul1Item;
}
 
int count() const { return N; }
 
void insert(Item item)
 { int i = hash (item.key (), M) ;
   while (!st[i].null()) i = (i+1)% M;
   st[i] = item; N++;
}
 
Item search (Key v)
 { int i = hash(v, M) ;
   while (!st[i].null())
    if (v = st[i].key()) return st[i] ;
    else i = (i+1) % M;
   return nul1Item;
}
 
int hash(Key v, int M)
 {return (int) M*(v-5)/(10-5);}
 
};
 
 
int main()
{
    ST<int,int> myq(15);
    cout<<"ishodnij masiv ->\n\n";
    for(int i=0; i<=15; i++){
    myq.st[i]=5+(double) rand()/RAND_MAX*(10-5);
    cout<<" "<<myq.st[i];} cout<<"\n\n";
    myq.hash(8,15);
    myq.search(7);
    for(int y=0; y<=15; y++){
    cout<<" "<<myq.st[y];}
    return 0;
}
Компилятор ругается при вызове myq.search(7);
пишет что ошибка в строчках:
while (!st[i].null())
if (v = st[i].key()) return st[i] ;

null() и key() нигде не описана и я не знаю что в них писать...
Помогите пожалуйста разобраться!!!

Добавлено через 1 час 23 минуты
Где найти описание ф-ий null() и key()?
Или хотя бы что в них должно делаться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru