Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [решено] Random element deleting
Показать сообщение отдельно

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо, я уже разобрался, надо было ещё добавить такую функцию:
Код: Выделить весь код
void delete_random_node()
{
	if (!count) return;

	if(count==1){
		delete start_ptr;
		start_ptr=NULL;
		count--;
		return;
	}

	node *temp1, *prev;
	int node=rand()%count;
	int i=0;

	cout << "Deleting " << node << " node."<<endl;
	if(node==0){
		temp1=start_ptr;
		start_ptr=temp1->nxt;
		delete temp1;
		count--;
		return;
	}
	else
	{
		temp1=start_ptr;
		while(1)
		{
			if(i++==node)
			{
				if(temp1->nxt!=NULL)
					prev->nxt=temp1->nxt;
				if(node+1==count){
					prev->nxt=NULL;
				}
				delete temp1;
				count--;
				return;
			}
			prev = temp1;
			temp1=temp1->nxt;
		}
	}
}

Отправлено: 19:35, 19-05-2009 | #3

Название темы: [решено] Random element deleting