構造体の配列のソート処理について教えてください。
例えば、メンバ a, b, c を持つ構造体の配列を、少なくともひとつの列を選び
その列についてソートします。
ただし、複数の列を選択した場合は、優先度を付けてソートしたいのです。
具体的には、メンバ a, c について、この順の優先度でソートする場合は
配列全体で見た場合、メンバ a でソートされていて、メンバ a の同値ごとに
メンバ c でソートしたいのです。
簡単にやりたいことを言うと SQL の ORDER BY a, c を実装したいのです。

とりあえず、優先度の低いメンバから順々にソートをしていけば目的の結果を得ることができました。
※ 上記の例だと、まずメンバ c でソートして、その後にメンバ a でソートしました。

ただ、ソート処理を何回も繰り返すのが、どうも気に入らないのですが
一度のソート処理で同じような結果を得られる方法ってあるのですか?