初心者として、リストクラスを使用して、C++ で並べ替え関数を実装しようとしています。ただし、コードを実行すると、リスト反復子がインクリメントできないというエラーが表示されます...ただし、インクリメント可能である必要があるため、ほとんどありそうにありません!
コード:
void shuffle (list<int> &list1)
{
list<int> smaller;
list<int> larger;
if (list1.size() > 1)
{
list<int>::iterator it;
//int it;
int x = list1.front();
for (it = list1.begin(); it != list1.end(); it++)
{
if(*it <= x)
{
smaller.push_front(*it);
list1.pop_front();
}
else
{
larger.push_back(*it);
list1.pop_front();
}
shuffle (smaller);
shuffle (larger);
}
}
else
{
print(smaller);
print(larger);
//cout << "No sorting needed! The list still looks like: ";
//print(list1);
}
print(smaller);
print(larger);
}
この関数は、メインの下の CPP ファイルに実装しました。
誰にも提案はありますか?