>The first one is I'm wondering what is the best library to use for a hash table in a C++
It depends on what you need. Google's sparse hash library is nice, and if you can find a good implementation of TR1 (such as Dinkumware), you can use the hash_set and hash_map classes.
>what do you guys use?
I currently use TR1 (first my own implementation, now Dinkumware).
>Or do you implement your own?
In C I implement my own. In C++ I used to implement my own until I gained confidence in third party implementations that matched the interface I wanted to use. I don't recommend rolling your own hash table unless you really know what you're doing.
>what kind of IDE do you use to edit and compile your programs?
I don't use an IDE. I use some flavor of vi and make.
>Is there a good windows / linux based GUI for working with g++?
Code::Blocks is a good IDE, and it's available for several Linux distributions.