Implementing data structures such as arrays, linked lists, queues, stacks, graphs, trees etc. using C++