Hash-Subject is a C++ implementation of a Hash Table designed for managing and organizing topics and titles. The project allows users to perform operations such as adding, deleting, and searching for topics, providing efficient and structured data handling.
-
Hash Table Implementation:
- A custom-built hash table for efficient data storage and retrieval.
-
Core Functionalities:
- Add topics and their associated titles.
- Delete topics or titles from the hash table.
- Search for specific topics and their details.
-
Performance:
- Optimized hashing mechanism for collision resolution.
-
Error Handling:
- Comprehensive handling for invalid inputs and missing data.
- Language: C++
- Development Environment: Visual Studio
-
Clone the repository:
git clone https://github.com/Noammandelbaum/Hash-Subject.git
-
Open the solution file (
HSubject.sln) in Visual Studio. -
Build the project by selecting Build Solution from the Build menu.
-
Run the application to interact with the hash table functionality.
-
Add Topics:
- Input a topic and its title to store them in the hash table.
-
Delete Topics or Titles:
- Specify the topic or title you want to remove from the table.
-
Search for Topics:
- Enter a topic name to retrieve its associated titles.
HSubject.cpp: Main implementation of the hash table operations.HSubject.h: Header file defining the class structure.HashTable.h: Contains the hash table class and supporting methods.main.cpp: Entry point of the program, demonstrating the functionality.
HashTable table;
// Adding topics and titles
table.addTopic("Programming", "C++");
table.addTopic("Science", "Physics");
// Searching for a topic
table.search("Programming");
// Deleting a topic
table.deleteTopic("Science");Contributions are welcome! If you have ideas for improvement, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please contact: Noam Mandelbaum
- Email: noam.mandelbaum@gmail.com
- GitHub: github.com/Noammandelbaum