There is little difference between using C and using C++ in this context. The reason is that the differences between the two languages are not going to be very visible - a trivial implementation of an algorithm very rarely takes advantage of the features found in C++, rather, it works with the very basic foundations which are found in both C and C++.
Personally I would find using C much simpler because it simply works at lower level of abstraction. This means that the fundamental idea and inner working of the algorithm become more clear. A good example of this would be whether to use C-style array or STL container like
std::vector. What benefits would
std::vector give you in terms of learning about implementing an algorithm? Frankly, I can't name any.
This is not to say that in general you should implement algorithms in C or use some kind of "C-style". This is to say that in this case, when you want to implement algorithms to understand how they work, I argue that the best way to approach this is to use as basic and fundamental facilities possible - exactly those which C offers and perhaps even avoid the high-level concepts introduced by C++.