Skip to content

SpaceQuark/Graph-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph Library

A modern and efficient graph object library The goal of this project is to provide a lightweight and user-friendly graph library using modern C++ functionalities.

Future versions would include more formal testing, official documentation, C++ 20 concepts, and working GUI.

Generic badge Generic badge

Dependencies

The project requires CLang 14 (https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNotes.html) and CMake 3.16 (https://cmake.org/) or more

How to compile

This libary is header-only. To install first clone this repository with

 $ git clone https://github.com/SpaceQuark/Graph-Library

You can then build (compile) and run this project by typing

./build app

and

./run app

in the terminal

Example Code

Users can easily create a graph object (in the example below, an integral, weighted, undirected graph)

#include "Graph.hpp"

int main()
{
    Graph<int, int> g;

    // Adding edges to graph object
    g.add_edge(1,2,5);
    g.add_edge(2,4,10);

    // printing edge list
    g.pEL();

    /* prints
    Start: 1 End: 2 Weight 5
    Start: 2 End: 1 Weight 5
    Start: 2 End: 4 Weight 10
    Start: 4 End: 2 Weight 10
    */
}