Speaking practically, there's no way to do this. While it's surely possible that such software exists to resize partitions, it's probably very complicated, and I myself wouldn't try it on my own personal data. An error could mean the destruction of whatever is on the drive.
The easiest way to accomplish what you're trying to do is to copy the contents of your drive to a separate drive (or DVDs or something). Reformat the first drive and change the sizes of the partitions. Then copy your data back over. Not difficult at all, and fail safe, assuming you have something with enough space to copy your data over to. If not, you might be stuck with the partition sizes you've got.
Cheers