I installed Debian about 5-6 days ago alongside Windows 7 and I've got it running almost perfectly besides a few bugs here and there. Yesterday I booted into Windows and shrunk the C: drive so I could add extra space to my Linux partition. Yes I have an MBR based system and my partitions are all used up. However, my C: drive in Windows is behind my Linux partition. So the free space ended up being behind the root partition of Linux on the partition table in GParted. How do I use this free space that's behind my root partition? I want to make this free space a part of my Linux root partition. Please refer to the picture below.
There is actually some good documentation for moving partitions around using gparted. You'll want to make sure your filesystems are unmounted before moving things around. The easiest way to do this (and it looks like you have done this step already) is to use the Ubuntu livecd or liveusb, and boot into gparted.
Once there, you'll want to move your ext4 filesystem over to the left (this is your root filesystem for your Ubuntu install, that lives on /dev/sda3), so that your unallocated space is directly to the right of your /dev/sda3 partition. Next, you'll need to extend the partion across the unallocated space. Once your partition is extended, your final step will be to run a
resize2fs on your root filesystem to extend it across the new space in the partition.
The link below gives all the steps you need:
edited: changed left from right.