例えば「あ[1]、い[2]、う[3]、え[4]、お[5]」といったデーターの配列があるとします。
そこで、例えば「う」を指定したのならば「う」から開始してどんどん右へソートしていき、一番右に来たら最初から折り返し、あから再度ソートします。
つまり、
入力データーが「あ、い、う、え、お」
並び替えを開始するデーターを「う」
とすると
「う、え、お、あ、い」
と返すようにしたいです。
また、スクリプトは極端に実行速度が遅くならない限り、できるだけ簡潔なものが好ましいです。

追記です。
並び替えを開始するデーターを指定するのは配列番号でも構いません。
文字列ではなく配列番号で指定したほうが実行速度が早くなるか簡潔になるのであればそちらのほうが好ましいです。(つまり「う」というデーターではなく3を指定)