I found this algorithm here:
In round one, each boy goes to his first-choice girl and says, “Will you marry me?” Each girl, after considering the boys proposing
to her (if any), answers “maybe” (gets engaged) to the one who’s highest on her preference list and “no” to the rest.
In successive rounds, each boy rejected in the previous round goes to his next-choice girl and proposes to her. Each girl, once again, looks at everyone proposing to her (including her engagement from the previous round) and says “maybe” to her most
preferred boy and “no” to the rest.
Finally, when every boy is engaged to some girl, the algorithm terminates and the girls turn to their partners and say “yes.”
Now, this is the "boy-proposal algorithm," not the "girl-proposal algorithm," but let's run through it to see how it goes: you should be able to then work out the details for the "girl-proposal algorithm".
First round, boys 1, 3, and 4 propose to g1, b2 proposes to g4. g1 says "maybe" to b1 and "no" to the others; g4 says "maybe" to b2.
Second round: b3 and b4 having been rejected by g1, b3 proposes to g2, and b4 proposes to g3. g2 and g3 have no better offers, so they both say "maybe".
No boy was rejected in round 2, so every girl now says "yes" to the boy to whom she (most recently) said "maybe". We wind up with b1g1, b2g4, b3g2, and b4g3, and we all live happily ever after.