我打算使用以下代码对字符串数组进行排序:
void sort(string scadena[]){
string temp;
//here i am intenting sort the elements. it works fine
for(int i=0;i<m;i++){
for(int j=i+1;j<m;j++){
if(scadena[i]>scadena[j]){
temp=scadena[i];
scadena[i]=scadena[j];
scadena[j]=temp;
}
}
}
// Here i am intenting remove the repeated elements, but it not works fine.
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
if(scadena[i]==scadena[j] && j!=i){
for(int k=j;k <m; k++){
scadena[k]=scadena[k+1];
}
m--;
}
}
}
//Because when i do the cout, the output has repeated elements. it not works
for(int i=0;i<m;i++){
cout<<i<<") "<<scadena[i]<<endl;
}
}
输出有重复的元素,但我不知道为什么。
完整的代码有一个对字符串进行排列的函数。
我不知道发生了什么。