implementation of some c++ standard containers in c