@Rikog

Как добавить элемент в n месте двусвязного списка?

Не могу реализовать функцию добавления элемента в список, каждый раз список пересоздается и там всегда 1 элемент
.cpp file
#include "List.h"



void List::show()
{
	Node *tmp = head;
	while (tmp != NULL)
	{
		cout << tmp->str <<endl; 
		tmp = tmp->next;
	}
}

void List::add(int x, string str2)
{
	Node *temp = new Node;
	temp->next = NULL;
	temp->str = str2;  
	temp->priority = x;

	if (head != NULL)
	{
		Node *quest = found(x);
		temp->prev = quest;
		temp->next = quest->next;
		if (quest == head)
		{
			head = temp;
		}
		if (quest == tail)
		{
			tail = temp;
		}
	}
	else
	{
		temp->prev = NULL;
		head = tail = temp;
	}
}

void List::delet()
{
	tail = tail->prev;
}

Node * List::found(int priority)
{
	if (head->next!=NULL)
	{
		if (search->priority == priority)
			return search;
		else
			return search = search->next;
	}
	else
	{
		return head;
	}
}

List::List()
{
	head = NULL;
	tail = NULL;
}


List::~List()
{
}
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hasalex
разработчик
видеть бы полный код, потому что непонятно как работает found и что такое search на каждом этапе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы