入力ファイルから同じ頻度を持つ文字列の配列をアルファベット順に並べ替えようとしています。配列全体をループすることから始め、単語のグループが同じ頻度を持つポイントにインデックスを設定します。次に、指定されたインデックス間で挿入ソートを行います。関数は次のとおりです。
//Insertion sort up the array, checking for same frequencies and moving words alphabetically downwards
int startIdx = 0;
int endIdx = 0;
for(int k = 0; k < freq.length(); k++) {
if(freq.at(startIdx) == freq.at(k)) {
endIdx++;
}
else {
insertionSort(startIdx, endIdx); //Sort the string array at the given indices
startIdx = endIdx = k;
}
}
関数は配列をソートしていません...インデックスが0からlength()に設定されている場合、またはその他の任意に設定された値の場合は機能しますが、それ以外の場合は機能しません。