我intenting排序字符串數組與此代碼:排序字符串數組與函數
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;
}
}
輸出已經重複的元素,但我不爲什麼。
完整的代碼有一個函數來完成字符串的排列。
我不會發生什麼事情。
任何理由不使用['標準:: sort'(http://en.cppreference.com/w/cpp/algorithm/sort)? – juanchopanza
'std :: swap()'有什麼問題? – genpfault
@ juanchopanza它的功課,所以他不能使用它。看到這裏:http://stackoverflow.com/questions/17396222/how-to-generate-all-permutations-of-an-array-in-sorted-order – Borgleader