The animation is a very good base to work on. You got the basics down pat, now all you need is to implement some small improvements to make it really shine.
The head: it should bob up and down slightly, but never turn left or right. Yours doesn't turn, but it doesn't bob either. When feet are at the widest, the head should be at the lowest position, and at it's highest when the character has his full weight on only one leg.
Torso: It should lean forward when a character is walking, compared to when a character is standing still. Walking is in essence, a controlled fall. So the body falls forward by leaning forward, and the legs keep getting in the way of it falling, and this is how walking is achieved. The faster the character walks the more forward the torso should lean. The torso turns slightly left and right, and this follows the movement of the arms. So when an arm is in a forward position, the torso should turn to follow the arm.
Arms: This is where most of your suckyness comes in the animation, the arms change length each frame. You should make them consistent in length. Hands should follow the arm movement but lag slightly back due to inertia. So if a arm is moving forward, the hand should slightly hang in the opposite direction. Imagine the arm as a pendulum and the hand as a piece of ribbon tied to it at the bottom part. After you fix this, you should actually delay your arm movement by 1 frame. This is a common mistake everybody makes. The overall position is okay, but arms should be at the widest one frame after the legs are at the widest. Currently, your arms are in sync with the legs and should lag one frame behind.
Legs: Everything okay here.
Keep at it!