Is there any tool to automatically reorder the .c file based on .h?

For example, foo.h

void function1();
void function2();
void function3();

And foo.c

void function2(){}
void function1(){}
void function3(){}

Can I reorder it as

void function1(){}
void function2(){}
void function3(){}

By the way, I'm using Vim in Ubuntu.

Edit
Report