{"id":21470935,"url":"https://github.com/saadarazzaq/4d-notepad-data-structures-project","last_synced_at":"2025-03-17T06:45:15.544Z","repository":{"id":159155207,"uuid":"610030393","full_name":"SaadARazzaq/4D-Notepad-Data-Structures-Project","owner":"SaadARazzaq","description":"Notepad implementation using 4 Dimensional Linked Lists","archived":false,"fork":false,"pushed_at":"2024-03-09T16:56:00.000Z","size":1996,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T16:14:24.007Z","etag":null,"topics":["cpp","data-structures","linked-list","semester-project"],"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/SaadARazzaq.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-03-05T23:39:52.000Z","updated_at":"2024-03-09T16:15:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"a96deff7-c65c-4376-a586-50b3b5b721a5","html_url":"https://github.com/SaadARazzaq/4D-Notepad-Data-Structures-Project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaadARazzaq%2F4D-Notepad-Data-Structures-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaadARazzaq%2F4D-Notepad-Data-Structures-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaadARazzaq%2F4D-Notepad-Data-Structures-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaadARazzaq%2F4D-Notepad-Data-Structures-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SaadARazzaq","download_url":"https://codeload.github.com/SaadARazzaq/4D-Notepad-Data-Structures-Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243988956,"owners_count":20379649,"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","data-structures","linked-list","semester-project"],"created_at":"2024-11-23T09:29:49.376Z","updated_at":"2025-03-17T06:45:15.522Z","avatar_url":"https://github.com/SaadARazzaq.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 4D Notepad Data Structures\n\n## Overview\nThis project is a C++ implementation of a notepad application with all the basic text editing functionalities. It utilizes 4 Dimension linked lists and queues to manage text data and operations efficiently.\n\n## Features\n- **Open Notepad:** Allows users to input text into the notepad.\n- **Delete Text:** Enables users to delete specific text from the notepad.\n- **Copy Text:** Copies selected text from the notepad for pasting elsewhere.\n- **Paste Text:** Pastes copied text into the notepad at a specified location.\n- **Find Text:** Searches for specific text within the notepad.\n- **Replace Text:** Replaces occurrences of specific text with another text within the notepad.\n- **Undo Text:** Reverts recent changes made to the text in the notepad.\n- **View Notepad:** Displays the content of the notepad.\n- **Count Total Words:** Calculates and displays the total number of words in the notepad.\n\n## Approach\nThe linked list approach is utilized to manage the text data in the notepad efficiently. Here's how it works:\n- **Node Class (`node`):** Represents each word or segment of text in the notepad. Each node contains text data and pointers to the next, previous, up, and down nodes, forming a 4D linked list structure.\n- **Inserting Text:** Text data is inserted into the linked list by creating new nodes and connecting them appropriately using the `open_insert_txt_1` function.\n- **Deleting Text:** Text can be deleted from the notepad by removing nodes from the linked list using the `delete_txt_2` function.\n- **Traversing the Linked List:** The linked list is traversed to perform various operations such as displaying the content of the notepad and counting the total number of words.\n- **Linked List Structure:** The linked list structure maintains the order of text data and facilitates efficient insertion and deletion operations.\n\n## Usage\n1. Upon launching the application, a main menu will be displayed with various options.\n2. Choose an option by entering the corresponding number and follow the on-screen instructions.\n3. Perform text editing operations as prompted.\n4. Use option \"0\" to exit the application.\n\n## Dependencies\n- This project relies on standard C++ libraries and does not have any external dependencies.\n\n## Contributors\n- [Saad Abdur Razzaq](https://github.com/saadarazzaq)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadarazzaq%2F4d-notepad-data-structures-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaadarazzaq%2F4d-notepad-data-structures-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadarazzaq%2F4d-notepad-data-structures-project/lists"}