To build muscle you should work out intensely with heavy weights. You should use a weight that allows you to do 8-15 reps per set for 4-5 sets per body part. Take each set to absolute failure. Most trainers suggest a split routine: work chest, shoulders and triceps one day, then back and biceps the next day. The rest a day or 2. Then do legs the next time, then chest, shoulders and triceps again etc…. Your muscles should be sore for at least a day or 2 after a workout and you should not work the sore muscles again until the soreness is gone. Rest is as important as good workouts. Take lots of days off from the gym and work out really intensely when you are there.
Also, you should concentrate mostly on exercises that work more than one muscle group (squats, bench press, dead lifts and rows and pull-ups) and always work the big muscles (back, thighs, chest). Those are the hardest exercises and should form the core of every workout: squats and dead lifts for your leg day workout, bench press for chest, shoulders and triceps and rows and pull-ups for back.
I like doing push-ups, but you should do them as part of your chest, shoulders and triceps routine. If you workout as intensely as you should, one day per week for each body part should be enough.
In addition to lots of rest between workouts, you need to eat, eat, eat. You won't gain weight without eating lots of good food, especially protein.