Skip to content

A comprehensive collection of basic data structures, mathematical utilities, and sorting/searching algorithms implemented in C++. Ideal for beginners, students, and interview preparation.

License

Notifications You must be signed in to change notification settings

AbdoJoker99/Cpp

Repository files navigation

📘 C++ Data Structures and Algorithms Library

A comprehensive collection of basic data structures, mathematical utilities, and sorting/searching algorithms implemented in C++. Ideal for beginners, students, and interview preparation.


📚 Contents

✅ Data Structures

  • Arrays
  • Stack (Array-based & Linked List-based)
  • Queue
    • Linear Queue
    • Circular Queue
    • Double-ended Queue
  • Singly Linked List
  • Doubly Linked List
  • Hash Table (basic implementation)
  • Binary Search Tree (BST)

🔢 Mathematical Programs

  • Area & Perimeter of:
    • Triangle
    • Rectangle
    • Square
    • Parallelogram
    • Trapezoid
  • Factorial (Iterative & Recursive)
  • Fibonacci Sequence
  • GCD (Greatest Common Divisor)
  • LCM (Least Common Multiple)

⚙️ Algorithms

Sorting Algorithms

  • Quick Sort
  • Merge Sort
  • Insertion Sort
  • Bubble Sort

Searching Algorithms

  • Linear Search
  • Binary Search

🧰 Other Features

  • Built-in C++ Standard Library Functions (<algorithm>, <cmath>, <string>, etc.)
  • File Handling (read/write to text files)

🚀 Getting Started

🔧 Requirements

  • C++17 or above
  • C++ compiler (e.g. g++, clang++, MSVC)

📥 Installation

Clone the repository:

git clone https://github.com/AbdoJoker99/Cpp

🛠️ Installing MSYS2 and GCC (Windows)

  1. Download MSYS2 from https://www.msys2.org

  2. Install and open the MSYS2 terminal

  3. Update the package database and core system packages:

    pacman -Syu

    🔁 Restart the terminal when prompted, then continue:

    pacman -Su
  4. Install GCC and Build Tools:

    pacman -S mingw-w64-ucrt-x86_64-gcc
  5. [Recommended Fix] GPG Key Issue (if package installation fails):

    If you encounter an error related to invalid or missing GPG keys when installing packages, run:

    pacman -S gnupg

    Then initialize the keyring with:

    pacman-key --init
    pacman-key --populate msys2
  6. Use the MSYS2 MinGW UCRT 64-bit terminal to compile your code:

    g++ -std=c++17 -o program your_code.cpp
    ./program

👥 Contributors

Name GitHub
Abdo @AbdoJoker99

🛠️ Tools

Web Extensions

VS Code Extensions


📚 Resources


🧪 Practice Platforms

Sharpen your skills on these coding platforms:

  • LeetCode – Popular for interviews and competitive prep
  • Codeforces – Competitive programming contests
  • HackerRank – C++ and DSA practice tracks

📄 License

This project is licensed under the Apache License.
See the LICENSE file for more information.


About

A comprehensive collection of basic data structures, mathematical utilities, and sorting/searching algorithms implemented in C++. Ideal for beginners, students, and interview preparation.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages