int cubic[9];
cubic[0]=x1.........cubic[8]=x9;
xkは1〜9のどれか。
インデックス3個ずつで1行として

326
459
781

という3次正方配列を想定するとする。

このとき縦横隣り合ってる2つを選んで入れ替えて
できるだけ少ない回数で

123
456
789

にしたいです。
どういうアルゴリズムがいいですか?
10×10にも適用できるような凡庸なアルゴリズムがいいです。

3×3の場合は
クイックソート3回でできると思うんですがどうでしょう?