Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2016, 13:34   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Не пишите бред. Не лезьте в дебри своего задания. Начните с начала, с определения структуры с указателем...

Если читали про списки, то где указатель в структуре? Не поверю, чтоб в любой книжке или статье про список этого не было. В ЛЮБОЙ.
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 15:56   #12
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Реализация узла с функцией добавления в конец списка

Код:
struct Node
{
	int value; 
	Node * next; 
};
Node * head = NULL;

void addToEnd(int v)
{
	Node * n;
	if (!head)
	{
		head = new Node;
		head->value = v;
		head->next = NULL;
		return;
	}
	else
	{
		n = head;
		while (n->next)
			n = n->next;
		Node * newNode = new Node;
		newNode->value = v;
		newNode->next = NULL;
		n->next = newNode;
		return;
	}
}

Последний раз редактировалось Enni; 26.03.2016 в 15:59.
Enni вне форума Ответить с цитированием
Старый 26.03.2016, 17:55   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Молодец, что нашли. Теперь добавляйте свои поля в структуру вместо показушного инта.
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 19:26   #14
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Правильно?

Код:
struct Book
{
	int author; 
	Node * next; 
       int title; 
	Node * next;
};
Book * book = NULL;

void addToEnd(int a,t)
{
	Book * n;
	if (!book)
	{
		book = new Node;
		book-> author = a;
		book->next = NULL;
		book = new Node;
		book-> title = t;
		book->next = NULL;

		return;
	}
	else
	{
		n = book;
		while (n->next)
		n = n->next;
	Book * new Book = newBook;
		new Book-> author = a;
		new Book->next = NULL;
		new Book-> title = t;
		new Book->next = NULL;

		n->next = new Book;
		return;
	}
}
Enni вне форума Ответить с цитированием
Старый 26.03.2016, 19:50   #15
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

У вас автор и названия числа? Врядли... тогда почему они инты?
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 20:21   #16
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

нужно изменить int на char?
Enni вне форума Ответить с цитированием
Старый 27.03.2016, 19:31   #17
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Код:
struct Book
{
char author; 
Book * next; 
char title; 
Book * next;
};
Book * book = NULL;

void addToEnd(char a,t)
{
Book * n;
if (!book)
{
book = newBook;
book-> author = a;
book->next = NULL;
book = newBook;
book-> title = t;
book->next = NULL;

return;
}
else
{
n = book;
while (n->next)
n = n->next;
Book * new Book = newBook;
new Book-> author = a;
new Book->next = NULL;
new Book-> title = t;
new Book->next = NULL;

n->next = new Book;
return;
}
}

Последний раз редактировалось Enni; 27.03.2016 в 19:33.
Enni вне форума Ответить с цитированием
Старый 28.03.2016, 17:09   #18
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

А как дальше делать?
Enni вне форума Ответить с цитированием
Старый 28.03.2016, 17:14   #19
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Цитата:
Сообщение от Enni Посмотреть сообщение
Код:
struct Book
{
char author; 
Book * next; 
char title; 
Book * next;
};
Зачем два указателя, с одним именем в однонаправленном списке?
netpolice вне форума Ответить с цитированием
Старый 28.03.2016, 17:17   #20
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Код:
 Book * book = NULL;

void addToEnd(char a,t)
Я бы еще наверное не использовал бы глобальную переменную, а указатель на список передавал бы в addToEnd
netpolice вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Односвязный линейный список flecso Паскаль, Turbo Pascal, PascalABC.NET 1 13.05.2012 02:51
C++ Односвязный линейный список vadiprog Помощь студентам 1 01.05.2012 21:27
С++ линейный односвязный список Lady IcE Помощь студентам 3 25.04.2011 20:24
Линейный-односвязный список Айдар Помощь студентам 1 01.06.2010 10:20
Линейный односвязный список Absinth Помощь студентам 4 11.11.2008 20:29