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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2019, 21:35   #1
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию двусвязный список

помогите реализовать двусвязный список в си .6 элементов и в каждом одно поле .Добавление и сортировка с комментариями пожалуйста
dasha13 вне форума Ответить с цитированием
Старый 04.11.2019, 21:42   #2
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от dasha13 Посмотреть сообщение
помогите реализовать двусвязный список в си .6 элементов и в каждом одно поле .Добавление и сортировка с комментариями пожалуйста
А вообще лучше приходите домой ко мне и напишите на моём ноуте за меня )

1. Помогите реализовать и "напишите за меня" две разные вещи. Нужно как минимум почитать что такое двусвязный список.
2. Продемонстрировать попытки, где люди смогут указать на ошибки и действительно помочь
3. Если совсем в лом реализовывать свой - есть готовые, достаточно загуглить

https://www.google.com/search?q=%D0%...hrome&ie=UTF-8
viks1 вне форума Ответить с цитированием
Старый 04.11.2019, 21:49   #3
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

гуглил ,но многое непонятно .Поэтому и прошу
dasha13 вне форума Ответить с цитированием
Старый 04.11.2019, 22:44   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Так что непонятно? Уж добавление точно много где есть.
p51x вне форума Ответить с цитированием
Старый 05.11.2019, 14:19   #5
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так что непонятно? Уж добавление точно много где есть.
Код:
struct Lunka 
{
	char colorball;
	struct Lunka *next;
	struct Lunka *prev;
};
struct Lunka *First_lunka(int *colorball,struct Lunka *Head)
{
	Head = (struct Lunka*)malloc(sizeof(struct Lunka));
	Head->colorball = colorball;
	Head->next = NULL;
	Head->prev = NULL;
};
struct Lunka* Add_lunki(struct Lunka* pred_knot, int color,int ball,int* massiv)
{
	for (int i = 1; i <= ball; i++) {
		struct Lunka* temp, * p;
		temp = (struct list*)malloc(sizeof(struct Lunka));
		p = pred_knot->next; // сохранение указателя на следующий узел
		pred_knot->next = temp; // предыдущий узел указывает на создаваемый
		temp->colorball = massiv[1]; // сохранение поля данных добавляемого узла
		temp->next = p; // созданный узел указывает на следующий узел
		temp->prev = pred_knot; // созданный узел указывает на предыдущий узел
		if (p != NULL)
			p->prev = temp;
		pred_knot = temp;
	}
}
void main(void) 
{
	struct Lunka* Head;
 First_lunka(&massiv[0],&Head);// создание головы
Add_lunki(&Head,&massiv[i],&ball,&massiv);
}
вот что у меня вышло
dasha13 вне форума Ответить с цитированием
Старый 05.11.2019, 14:20   #6
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

в массиве находятся числа ,которыми я заполняю поля элементов списка
dasha13 вне форума Ответить с цитированием
Старый 05.11.2019, 14:33   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Код:
First_lunka(&massiv[0],&Head);// создание головы
Код:
struct Lunka *First_lunka(int *colorball,struct Lunka *Head)
Так указатель или двойной указатель? Да и зачем указатель на число передавать.

Код:
Head->colorball = colorball;
Код:
char colorball;
Так int или char? Так int или int*? Или разыменование забыли?

Где ретурн?

Код:
struct Lunka* Add_lunki(struct Lunka* pred_knot, int color,int ball,int* massiv)
Вы просто так пихаете & к переменным? Может стоит выучить, что это?

Код:
for (int i = 1; i <= ball; i++) {
Выход за границы массива.

Код:
temp->colorball = massiv[1]; // сохранение поля данных добавляемого узла
Всегда один и тото же элемент?

Так куда вы хотите вставлять элементы?
p51x вне форума Ответить с цитированием
Старый 05.11.2019, 14:43   #8
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
struct Lunka *First_lunka(int *colorball,struct Lunka *Head)
а в чем разница между укзателем и двойным указателем?
dasha13 вне форума Ответить с цитированием
Старый 05.11.2019, 14:43   #9
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так int или char?
int
dasha13 вне форума Ответить с цитированием
Старый 05.11.2019, 14:46   #10
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

зачем здесь двойной указатель
dasha13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двусвязный список alexinn2007 Помощь студентам 4 12.12.2016 12:00
Двусвязный список Андрей Иванов Помощь студентам 3 18.10.2015 17:12
Двусвязный список mazzahaker Помощь студентам 7 05.04.2012 08:58
Двусвязный список narcot Visual C++ 13 28.05.2011 21:12
Двусвязный список Work Group Паскаль, Turbo Pascal, PascalABC.NET 12 13.07.2010 01:44