デバッグを手伝ってください。エラー「文字列添え字が範囲外エラー」になります。
プログラムは、挿入ソートアルゴリズムを使用してテキストをソートする必要があります。
コードは次のとおりです。
#include<iostream>
#include<string>
using namespace std;
void insertionSort(string &text, int size) {
char temp;
int i;
for(int j=1;j<size;j++)
{
//text.push_back(temp);
temp=text[j];
i=j-1;
while(i>=0 && text[i]>temp)
{
text[i+1]=text[i];
i--;
}
text[i+1]=temp;
}
}
int main()
{
string text="this a just text need to be sorted";
int size = text.length();
insertionSort(text,size);
cout<<text<<endl;
return 0;
}
デバッグアサーションに失敗しました!
行:1441:
式:文字列の添え字が範囲外です
私はに変更text[i+1]=text[j]
することになっていましたtext[i+1]=text[i]
;