Следующий псевдокод удаляет узел из связанного списка.Связанные списки (удаление и поиск)
void list::erase()//Deletes a node
{
cout<< "Enter a position: ";
cin>> pos;
if(pos==1)
{
current=head;
head=head->ptr;
}
else
{
current=head;
for(i=0; i<pos-1; i++)
{
temp=current;
current=current->ptr;
}
temp->ptr=current->ptr;
}
cout<< "Erased string: " << current->content<<"\t";
current=head;
while(current!=NULL)
{
cout<<current->content<<"\t";
current=current->ptr;
}
}
Мне нужно, чтобы отобразить сообщение в случае, если я удалить строку, которая не в списке: Там нет такой строки. Что мне делать?
Следующий псевдокод выполняет поиск узла в связанном списке.
void list::search()//Searches a node
{
char str[50];
cout<<"Enter a string: ";
cin>> str;
current=head;
while(current!=NULL)
{
pos++;
if(!strcmp(current->content, str))
{
cout<< "Found at "<<pos;
}
current=current->ptr;
}
}
Если я ищу строки которая не в списке и отобразить сообщение соответственно: Там нет такой строки. Что мне делать? Пожалуйста помоги.
Что именно здесь не работает? функция поиска выглядит нормально, за исключением того, что сообщение отсутствует, если строка не найдена. – Pandrei
@Pandrei Например: В списке: 1 2 3 4, если я ищу 5, тогда сообщение будет отображаться как: Не найдено. (4 раза (до тех пор, пока цикл не будет выполняться n раз)) – ShubhGOYAL5
положил результат после «Fount at» и положил строку cout << «не найден» после цикла while. –