finish tests of lab26
This commit is contained in:
parent
803a4b2e9e
commit
e0f63df0c8
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define DICT_ARRAY_C
|
#define DICT_TREE_C
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Основные операции СЛОВАРЯ:
|
Основные операции СЛОВАРЯ:
|
||||||
|
@ -1,21 +1,26 @@
|
|||||||
//
|
//
|
||||||
// Реализация словаря на хэше
|
// Реализация словаря на хэше
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifdef DICT_HASH_C
|
|
||||||
|
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "Dict.h"
|
#include "Dict.h"
|
||||||
|
#include "fnvhash_32a.h"
|
||||||
|
#include "jhash.h"
|
||||||
|
|
||||||
#define MAX_HASH 13267
|
#ifdef DICT_HASH_C
|
||||||
|
|
||||||
struct Node {
|
struct Node {
|
||||||
char* word;
|
char* word;
|
||||||
struct Node* next;
|
struct Node* next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define FNV_HASH
|
||||||
|
|
||||||
|
#if defined VLASENKO_HASH
|
||||||
|
|
||||||
|
#define MAX_HASH 13267
|
||||||
|
|
||||||
// Массив списков
|
// Массив списков
|
||||||
struct Node* first[MAX_HASH];
|
struct Node* first[MAX_HASH];
|
||||||
|
|
||||||
@ -30,6 +35,31 @@ int hash(char* word) {
|
|||||||
return hash_value % MAX_HASH;
|
return hash_value % MAX_HASH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined JHASH
|
||||||
|
|
||||||
|
#define MAX_HASH 16384
|
||||||
|
|
||||||
|
// Ìàññèâ ñïèñêîâ
|
||||||
|
struct Node* first[MAX_HASH];
|
||||||
|
|
||||||
|
int hash(char* word) {
|
||||||
|
int hash_value = (int)jhash(word, strlen(word) + 1, FNV1_32A_INIT);
|
||||||
|
hash_value = hash_value & hashmask(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined FNV_HASH
|
||||||
|
#define MAX_HASH 16384
|
||||||
|
|
||||||
|
// Ìàññèâ ñïèñêîâ
|
||||||
|
struct Node* first[MAX_HASH];
|
||||||
|
|
||||||
|
int hash(char* word) {
|
||||||
|
int hash_value = (int)fnv_32a_str(word, FNV1_32A_INIT);
|
||||||
|
hash_value = TINY_FNV(14, hash_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* INSERT – добавляет элемент в множество.
|
/* INSERT – добавляет элемент в множество.
|
||||||
Множество – содержит только уникальные элементы.
|
Множество – содержит только уникальные элементы.
|
||||||
При повторном добавлении элемента в множество, множество не изменяется.
|
При повторном добавлении элемента в множество, множество не изменяется.
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#ifdef DICT_LINKED_LIST_C
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Реализация АТД «Словарь» на Структуре данных «Односвязанный список»
|
// Реализация АТД «Словарь» на Структуре данных «Односвязанный список»
|
||||||
//
|
//
|
||||||
@ -9,6 +7,7 @@
|
|||||||
|
|
||||||
#include "Dict.h"
|
#include "Dict.h"
|
||||||
|
|
||||||
|
#ifdef DICT_LINKED_LIST_C
|
||||||
|
|
||||||
// элемент односвязанного списка
|
// элемент односвязанного списка
|
||||||
struct Node {
|
struct Node {
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
#ifdef DICT_SORTED_ARRAY_C
|
|
||||||
|
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include "Dict.h"
|
#include "Dict.h"
|
||||||
|
|
||||||
|
#ifdef DICT_SORTED_ARRAY_C
|
||||||
|
|
||||||
#define MAX_WORDS 10000
|
#define MAX_WORDS 10000
|
||||||
|
|
||||||
// Ñëîâà
|
// Ñëîâà
|
||||||
@ -48,6 +49,15 @@ MEMBER
|
|||||||
*/
|
*/
|
||||||
int Member(char* word) {
|
int Member(char* word) {
|
||||||
// Èñïîëüçóåòñÿ àëãîðèòì áèíàðíîãî ïîèñêà ñëîâà â îòñîðòèðîâàííîì ìàññèâå
|
// Èñïîëüçóåòñÿ àëãîðèòì áèíàðíîãî ïîèñêà ñëîâà â îòñîðòèðîâàííîì ìàññèâå
|
||||||
|
|
||||||
|
if (bsearch(word, words, numWords, sizeof(char), strcmp)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
int left = 0;
|
int left = 0;
|
||||||
int right = numWords - 1;
|
int right = numWords - 1;
|
||||||
|
|
||||||
@ -65,7 +75,7 @@ int Member(char* word) {
|
|||||||
right = middle - 1;
|
right = middle - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
// Ðåàëèçàöèÿ ñëîâàðÿ íà äâîè÷íîì äåðåâå ïîèñêà
|
// Ðåàëèçàöèÿ ñëîâàðÿ íà äâîè÷íîì äåðåâå ïîèñêà
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifdef DICT_TREE_C
|
|
||||||
|
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "Dict.h"
|
#include "Dict.h"
|
||||||
|
|
||||||
|
#ifdef DICT_TREE_C
|
||||||
|
|
||||||
// Óçåë äåðåâà
|
// Óçåë äåðåâà
|
||||||
struct NodeTree {
|
struct NodeTree {
|
||||||
char* word;
|
char* word;
|
||||||
|
@ -119,7 +119,7 @@ int TextProcessing(char* filenameIn, char* filenameOut) {
|
|||||||
fprintf(fout, "<!DOCTYPE html>");
|
fprintf(fout, "<!DOCTYPE html>");
|
||||||
fprintf(fout, "<html>");
|
fprintf(fout, "<html>");
|
||||||
fprintf(fout, "<head>");
|
fprintf(fout, "<head>");
|
||||||
fprintf(fout, "<meta http-equiv = \"Content-Type\" content = \"text/html; charset=ñç1251\" />");
|
fprintf(fout, "<meta http-equiv = \"Content-Type\" content = \"text/html; charset=cp1251\" />");
|
||||||
fprintf(fout, "<title>HTML Document</title>");
|
fprintf(fout, "<title>HTML Document</title>");
|
||||||
fprintf(fout, "</head>");
|
fprintf(fout, "</head>");
|
||||||
fprintf(fout, "<body>");
|
fprintf(fout, "<body>");
|
||||||
|
@ -104,10 +104,12 @@
|
|||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<AdditionalIncludeDirectories>..\..\hash functions</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<StackReserveSize>4194304</StackReserveSize>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
@ -127,6 +129,8 @@
|
|||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\hash functions\fnvhash_32a.c" />
|
||||||
|
<ClCompile Include="..\..\hash functions\jhash.c" />
|
||||||
<ClCompile Include="DictArray.c" />
|
<ClCompile Include="DictArray.c" />
|
||||||
<ClCompile Include="DictHash.c" />
|
<ClCompile Include="DictHash.c" />
|
||||||
<ClCompile Include="DictLinkedList.c" />
|
<ClCompile Include="DictLinkedList.c" />
|
||||||
@ -135,6 +139,8 @@
|
|||||||
<ClCompile Include="TextProcessing.c" />
|
<ClCompile Include="TextProcessing.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\hash functions\fnvhash_32a.h" />
|
||||||
|
<ClInclude Include="..\..\hash functions\jhash.h" />
|
||||||
<ClInclude Include="Dict.h" />
|
<ClInclude Include="Dict.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
@ -33,10 +33,22 @@
|
|||||||
<ClCompile Include="DictArray.c">
|
<ClCompile Include="DictArray.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\hash functions\fnvhash_32a.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\hash functions\jhash.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Dict.h">
|
<ClInclude Include="Dict.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\hash functions\fnvhash_32a.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\hash functions\jhash.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=ñç1251" /><title>HTML Document</title></head><body>Alice'<b>s</b> Adventures <b>in</b> Wonderland<br>
|
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=cp1251" /><title>HTML Document</title></head><body>Alice'<b>s</b> Adventures <b>in</b> Wonderland<br>
|
||||||
Lewis Carroll<br>
|
Lewis Carroll<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=ñç1251" /><title>HTML Document</title></head><body><b>The</b> <b>Fellowship</b> <b>of</b> <b>the</b> <b>Ring</b><br>
|
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=cp1251" /><title>HTML Document</title></head><body><b>The</b> <b>Fellowship</b> <b>of</b> <b>the</b> <b>Ring</b><br>
|
||||||
<b>J</b>. <b>R</b>. <b>R</b>. <b>Tolkien</b><br>
|
<b>J</b>. <b>R</b>. <b>R</b>. <b>Tolkien</b><br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=ñç1251" /><title>HTML Document</title></head><body><b>The</b> <b>Fellowship</b> <b>of</b> <b>the</b> <b>Ring</b><br>
|
<!DOCTYPE html><html><head><meta http-equiv = "Content-Type" content = "text/html; charset=cp1251" /><title>HTML Document</title></head><body><b>The</b> <b>Fellowship</b> <b>of</b> <b>the</b> <b>Ring</b><br>
|
||||||
<b>J</b>. <b>R</b>. <b>R</b>. <b>Tolkien</b><br>
|
<b>J</b>. <b>R</b>. <b>R</b>. <b>Tolkien</b><br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user