我的删除功能正在发挥作用。让我们说如果我添加“苹果”,“男孩”,“猫”到我的阵列。它按字母顺序排序。当我删除某些东西时,让我们说“男孩”,它可以很好地消除它。但是,如果我输入“布朗”,它会从我的列表中删除“猫”。如果它在列表中找不到,它会按字母顺序删除它下面的那个。如果我有上面提到的那些字符串,并且我输入了“狗”,则没有任何反应,因为“猫”在“狗”之前。有任何想法吗?删除功能无法正常工作
void StringList::remove(string s)
{
int loc = search(s, 0, numberOfStrings);
if(loc!=-1)
{
for(int i=loc; i<(numberOfStrings)-1; i++)
{
str[i] = str[i+1];
}
numberOfStrings--;
}
}
int StringList::search(string s, int start, int end)
{
for(int i=start; i<=end; i++)
{
if(str[i]>=s)
{
return i;
}
}
return -1;
}
你的意思是,它删除了一个字母*下一个*如果它找不到确切的单词? – feralin