{"id":19131138,"url":"https://github.com/pjsalter/library-catalog-optimisation","last_synced_at":"2025-11-13T00:01:59.862Z","repository":{"id":204563113,"uuid":"712142564","full_name":"PJSalter/Library-Catalog-Optimisation","owner":"PJSalter","description":"Library Catalog Optimisation: A C++ project for managing a sorted list of books using linked lists and vectors, optimising book insertions with operation tracking.","archived":false,"fork":false,"pushed_at":"2023-10-30T22:43:24.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-03T11:21:53.540Z","etag":null,"topics":["cpp","cpp23","linked-list","object-oriented-programming","vector"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PJSalter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-30T21:58:21.000Z","updated_at":"2023-10-30T22:47:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"67f6e78d-c0bd-4077-aee3-f2c324f1cbea","html_url":"https://github.com/PJSalter/Library-Catalog-Optimisation","commit_stats":null,"previous_names":["pjsalter/library-catalog-optimisation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PJSalter%2FLibrary-Catalog-Optimisation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PJSalter%2FLibrary-Catalog-Optimisation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PJSalter%2FLibrary-Catalog-Optimisation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PJSalter%2FLibrary-Catalog-Optimisation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PJSalter","download_url":"https://codeload.github.com/PJSalter/Library-Catalog-Optimisation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240206995,"owners_count":19765041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp23","linked-list","object-oriented-programming","vector"],"created_at":"2024-11-09T06:14:16.851Z","updated_at":"2025-11-13T00:01:59.780Z","avatar_url":"https://github.com/PJSalter.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 Library Catalog Optimization\n\n### 📖 A Library Book Sorting Application\n\n## Overview\n\nThis C++ project 📊 manages a sorted list of books implemented using a linked list (LinkedListLibrary) and the same list implemented using a vector (VectorLibrary). Each list contains 100 books, sorted in ascending order by ISBN number. 📖📚 The primary goal is to insert a new book into both the linked list and the vector and output the number of operations required for each insertion. 🚀\n\n## Project Structure\n\nThe project includes the following key components:\n\n- `main.cpp`: The 🏗️ main program that orchestrates the book insertion process and reports the number of operations for both the linked list and vector. 📦\n\n- `LinkedListLibrary.h` and `LinkedListLibrary.cpp`: The linked list implementation, including insertion and destruction methods. 📦\n\n- `VectorLibrary.h` and `VectorLibrary.cpp`: The vector implementation, including insertion and printing methods. 📈\n\n- `BookNode.h` and `BookNode.cpp`: A class representing individual book nodes used in the linked list. 📖\n\n- `Book.h` and `Book.cpp`: A class representing books with attributes such as title, author, and ISBN. 📕\n\n## How to Compile and Run\n\nTo compile and run the project, follow these steps:\n\n1. Ensure you have a C++ development environment set up, such as a C++ compiler (e.g., g++). 🛠️\n\n2. Clone or download this repository to your local machine. 📦\n\n3. Open a terminal or command prompt and navigate to the project directory. 🖥️\n\n4. Compile the C++ code:\n\n   ```bash\n   g++ LinkedListLibrary.cpp VectorLibrary.cpp BookNode.cpp Book.cpp main.cpp -o BookSortingApp\n   ```\n\n5. Run the executable: 🚀\n\n   ```bash\n   ./BookSortingApp\n   ```\n\n6. Observe the output, which will display the number of operations required to insert a new book into both the linked list and the vector. 📊\n\n## Example Input\n\n```\nThe Catcher in the Rye\n9787543321724\nJ.D. Salinger\n```\n\n## Example Output\n\n```\nNumber of linked list operations: 1\nNumber of vector operations: 1\n```\n\n## Conclusion\n\nThis C++ Application provides a simple comparison of insertion operations between a linked list and a vector data structure. It offers a basic illustration of how different data structures can impact the efficiency of operations like insertion. 🧐\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjsalter%2Flibrary-catalog-optimisation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpjsalter%2Flibrary-catalog-optimisation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpjsalter%2Flibrary-catalog-optimisation/lists"}