{"id":20753564,"url":"https://github.com/ali-elshorpagi/data_structures","last_synced_at":"2025-04-28T16:25:12.398Z","repository":{"id":178606629,"uuid":"595673992","full_name":"Ali-Elshorpagi/Data_Structures","owner":"Ali-Elshorpagi","description":"Data Structures in C++","archived":false,"fork":false,"pushed_at":"2024-02-19T20:13:33.000Z","size":7833,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T11:12:07.395Z","etag":null,"topics":["avl-tree","binary-heap","binary-search-tree","binary-tree","cpp","data-structures","doubly-linked-list","hash-table","problem-solving","queue","singly-linked-list","stack","template","trie-tree","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/Ali-Elshorpagi.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}},"created_at":"2023-01-31T15:23:28.000Z","updated_at":"2024-05-16T21:05:21.000Z","dependencies_parsed_at":"2024-02-06T03:48:52.907Z","dependency_job_id":null,"html_url":"https://github.com/Ali-Elshorpagi/Data_Structures","commit_stats":null,"previous_names":["ali-elshorpagi/data_structures"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ali-Elshorpagi%2FData_Structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ali-Elshorpagi%2FData_Structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ali-Elshorpagi%2FData_Structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ali-Elshorpagi%2FData_Structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ali-Elshorpagi","download_url":"https://codeload.github.com/Ali-Elshorpagi/Data_Structures/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251343981,"owners_count":21574466,"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":["avl-tree","binary-heap","binary-search-tree","binary-tree","cpp","data-structures","doubly-linked-list","hash-table","problem-solving","queue","singly-linked-list","stack","template","trie-tree","vector"],"created_at":"2024-11-17T09:14:08.473Z","updated_at":"2025-04-28T16:25:12.379Z","avatar_url":"https://github.com/Ali-Elshorpagi.png","language":"C++","readme":"# Data Structures in `C++`\n\n***Note :*** \u003cbr\u003e\n`main.cpp in this repo use an include file that needs to be compiled manually so`\u003cbr\u003e\n`If you will use the main.cpp included in the repo so Use the command below to compile and run`\u003cbr\u003e\n`you must compile the code in terminal manually to work`\n\n```python\n# to compile the file\n$ g++ main.cpp -o main -D FILENAME # FILENAME is the file (specific data sturcture from include.h file) you want to use\n# to run\n$ ./main.exe \n```\n\n```python\n- All of these Data Structures were built using Templates\n- Functions in README are the basic functions only\n```\n\n\u003ch3 align=\"center\"\u003e\u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e Hope you find this repository helpful, Have a nice time diving in \u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e\n\n\u003c!-- \u003ch3 align=\"center\"\u003e\u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e You can have a look to my \u003ca href=\"https://github.com/Ali-Elshorpagi/math_algorithms\"\u003e Math Algorithms \u003c/a\u003e also \u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e\n\u003ch3 align=\"center\"\u003e\u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=21501\u0026format=png\" height=\"56\" width=\"56\"\u003e Wait for Algorithms --\u003e\n\u003ch3 align=\"center\"\u003e\u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e You can have a look to my \u003ca href=\"https://github.com/Ali-Elshorpagi/algorithms\"\u003e Algorithms\u003c/a\u003e also \u003cimg align=\"center\" src=\"https://img.icons8.com/?size=512\u0026id=114499\u0026format=png\" height=\"56\" width=\"56\"\u003e\n\n\u003cimg src=\"https://github.com/Govindv7555/Govindv7555/blob/main/49e76e0596857673c5c80c85b84394c1.gif\" width=1100px height=95px\u003e\n\n\n## Table of Contents:\n   1. [Vector](#1) \n   1. [Singly LinkedList](#2) \n   1. [Doubly LinkedList](#3) \n   1. [Sparse Array Using LinkedList](#4) \n   1. [Sparse Matrix Using LinkedList](#5) \n   1. [Sparse Cube Using LinkedList](#6) \n   1. [Stack Array Based](#7) \n   1. [Stack LinkedList Based](#8) \n   1. [Circular Queue](#9) \n   1. [Queue LinkedList Based](#10) \n   1. [Deque](#11) \n   1. [Binary Tree](#12) \n   1. [Binary Search Tree ( Binary Node )](#13) \n   1. [Binary Search Tree](#14) \n   1. [Min Binary Heap](#15) \n   1. [Max Binary Heap](#16)\n   1. [AVL Tree ( Binary Node )](#17) \n   1. [AVL Tree](#18) \n   1. [Priority Queue Heap Based](#19) \n   1. [Priority Queue AVL Tree Based](#20) \n   1. [Trie Tree ( Letter )](#21) \n   1. [Hash Table](#22) \n\n## Contents:\n\n- \u003e \u003ca id=\"1\"\u003e\u003c/a\u003e[**Vector**](header/Vector.h)\n     - Push Back\n     - Insert\n     - Pop\n     - Rotate (Left - Right)\n     - Find\n     - Find Transposition\n- \u003e \u003ca id=\"2\"\u003e\u003c/a\u003e[**Singly LinkedList**](header/Singly_LinkedList.h)\n     - Insert (End - Front - After - Alternative)\n     - Search\n     - Delete (First - Last)\n- \u003e \u003ca id=\"3\"\u003e\u003c/a\u003e[**Doubly LinkedList**](header/Doubly_LinkedList.h)\n     - Insert (End - Front - Sorted)\n     - Delete (Front - End)\n     - Is Palindrom\n     - Middle Value\n- \u003e \u003ca id=\"4\"\u003e\u003c/a\u003e[**Sparse Array Using LinkedList**](header/Sparse_Array.h)\n     - Print Row\n     - Print Row Non zero\n- \u003e \u003ca id=\"5\"\u003e\u003c/a\u003e[**Sparse Matrix Using LinkedList**](header/Sparse_Matrix.h)\n     - Print Matrix\n     - Print Matrix Non zero\n- \u003e \u003ca id=\"6\"\u003e\u003c/a\u003e[**Sparse Cube Using LinkedList**](header/Sparse_Cube.h)\n     - Print Cube\n     - Print Cube Non zero\n- \u003e \u003ca id=\"7\"\u003e\u003c/a\u003e[**Stack Array Based**](header/Stack_Array_Based.h)\n     - Is Full\n     - Is Empty\n     - Push\n     - Pop\n     - Peek\n     - Reverse (Subwords - Num)\n     - Remove Adjacent Duplicates\n     - Reverse\n     - Insert at Bottom\n- \u003e \u003ca id=\"8\"\u003e\u003c/a\u003e[**Stack LinkedList Based**](header/Stack_LinkedList_Based.h)\n     - Push\n     - Pop\n     - Peek\n- \u003e \u003ca id=\"9\"\u003e\u003c/a\u003e[**Circular Queue**](header/Circular_Queue.h)\n     - Is Full\n     - Is Empty\n     - Next\n     - Enqueue\n     - Dequeue\n- \u003e \u003ca id=\"10\"\u003e\u003c/a\u003e[**Queue LinkedList Based**](header/Queue_LinkedList_Based.h)\n     - Is Empty\n     - Enqueue\n     - Dequeue\n- \u003e \u003ca id=\"11\"\u003e\u003c/a\u003e[**Deque**](header/Deque.h)\n     - Next\n     - Prev\n     - Enqueue (Rear - Front)\n     - Dequeue (Rear - Front)\n     - Is Empty\n     - Is Full\n- \u003e \u003ca id=\"12\"\u003e\u003c/a\u003e[**Binary Tree**](header/Binary_Tree.h)\n     - Print (Pre order - Post order - In order)\n     - Tree max\n     - Tree Height\n     - Is exists\n     - Is Perfect\n     - Traverse\n     - Level order Traversal\n     - Is Mirror\n     - Is symmetric\n     - Is Flip\n- \u003e \u003ca id=\"13\"\u003e\u003c/a\u003e[**Binary Search Tree ( Binary Node )**](header/Binary_Search_Tree_v2.h)\n     - Insert\n     - Search\n     - Level Order Traversal\n- \u003e \u003ca id=\"14\"\u003e\u003c/a\u003e[**Binary Search Tree**](header/Binary_Search_Tree.h)\n     - Insert\n     - Search\n     - Delete\n     - Get (In Order - Pre Order)\n- \u003e \u003ca id=\"15\"\u003e\u003c/a\u003e[**Min Binary Heap**](header/Min_Heap.h)\n     - Push\n     - Pop\n     - Is empty\n     - Heap Sort\n- \u003e \u003ca id=\"16\"\u003e\u003c/a\u003e[**Max Binary Heap**](header/Max_Heap.h)\n     - Push\n     - Pop\n     - Top\n     - Is Empty\n- \u003e \u003ca id=\"17\"\u003e\u003c/a\u003e[**AVL Tree ( Binary Node )**](header/AVL_Tree.h)\n     - Insert\n     - Search\n     - Delete\n     - Level Order Traversal\n     - Lower Bound\n     - Upper Bound\n     - Prefix Exist\n- \u003e \u003ca id=\"18\"\u003e\u003c/a\u003e[**AVL Tree**](header/AVL_Tree_v2.h)\n     - Insert\n     - Delete\n     - Level Order Traversal\n- \u003e \u003ca id=\"19\"\u003e\u003c/a\u003e[**Priority Queue Heap Based**](header/Priority_Queue_Heap_Based.h)\n     - Is Empty\n     - Enqueue\n     - Dequeue\n- \u003e \u003ca id=\"20\"\u003e\u003c/a\u003e[**Priority Queue AVL Tree Based**](header/Priority_Queue_AVLT_Based.h)\n     - Is Empty\n     - Enqueue\n     - Dequeue\n- \u003e \u003ca id=\"21\"\u003e\u003c/a\u003e[**Trie Tree ( Letter )**](header/Trie_Tree.h)\n     - Insert\n     - Word Exist\n     - Prefix Exist\n- \u003e \u003ca id=\"22\"\u003e\u003c/a\u003e[**Hash Table**](https://github.com/Ali-Elshorpagi/Data_Structures/tree/main/source/Hash_Table)\n    - Hash Table LinkedList Based ( Chaining Technique )\n    - Hash Table Vector Based ( Chaining Technique )\n    - Hash Table Vector Based ( Linear Probing Technique )\n    - Hash Table Vector Based ( Quadratic Probing Technique )\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fali-elshorpagi%2Fdata_structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fali-elshorpagi%2Fdata_structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fali-elshorpagi%2Fdata_structures/lists"}