我正在研究一个可以从字符数组中删除重复项的函数。问题是该函数适用于一定数量的字符,但如果数组中有很多项,那么程序就不能正常工作。此外,如果重复的术语彼此相邻,则程序不会将其删除。
void delete_repeats(char array[],int size){
for(int i = 0; i < size; i++){
for(int j = i + 1; j < size; j++){
if(array[i] == array[j] || !((array[j] >= 97) && (array[j] <= 122))){
for(int k = j; k < size; k++){
array[k] = array[k + 1];
size--;
}
}
}
}
}
例子:
原始数组包含:Mary had a little lamp
程序运行后:maryhdliitttlelaampp