Will I ever have to implement linked lists,stacks, queues, hash tables,sorting algorithms manually in software development? Or is the standard library do all that work? Just wondering because I am trying to learn how to do these things without the respective libraries.
You might get a job developing software infrastructure libraries, in which case you might have to write or maintain trees, tries, adjacency lists, allocators, thread pools, concurrent hashes, multipriority queues, multiindex containers, I/O multiplexors, reactors, whatever the programmers need. And yes, custom sorting algorithms.
Even if you never going to implement any of them it's still very useful to understand how they work so that you can pick the best one for the task in hand.
Wow, and I was just going to reply with a simple yes to his question. I couldn't think of any examples off hand of where you would use them, just that you do use them.