Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zoom-zoom
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 5
#1

работа со списками(двунаправленные списки) - C++

01.12.2012, 20:06. Просмотров 473. Ответов 10
Метки нет (Все метки)

не знаю как написать функцию по добавлению в список элементов с клавиатуры, помогите, пожалуйста

список формируется как
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct elem
{
    int info;       // Некое значение элемента
    elem *next;     // Указатель на следующий элемент
    elem *prev;     // Указатель на предидущий элемент
};
struct spisok
{
    elem *begin;
    elem *end;
    int count;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
01.12.2012, 20:15     работа со списками(двунаправленные списки) #2
А добавлять куда будем?

Ну вообще вы пишете общую функцию Pop(int v) к примеру. то есть она принимает аргумент v. а как вы его зададите - с клавиатуры или случайно - Ваше дело)
zoom-zoom
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 5
01.12.2012, 20:19  [ТС]     работа со списками(двунаправленные списки) #3
Rabbit13245, я могу задавать каждый элемент по отдельности, путем добавления либо в начало либо в конец списка, а как сделать так чтобы его полностью сразу задать? мне это интересно и как это реализуется
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
01.12.2012, 20:29     работа со списками(двунаправленные списки) #4
что значит полностью задать?))

а давайте через классы напишем? гораздо удобнее)))
generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 555
Записей в блоге: 1
01.12.2012, 20:30     работа со списками(двунаправленные списки) #5
я кстати тоже работаю щяс над этим не могли бы вы показать весь ваш код пожалуйста
zoom-zoom
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 5
01.12.2012, 20:33  [ТС]     работа со списками(двунаправленные списки) #6
Rabbit13245, к сожалению классы мне не подойдут, нужно как то все это через списки реализовать, а вот как разобраться не могу, вообще ничего не выходит
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
01.12.2012, 20:36     работа со списками(двунаправленные списки) #7
zoom-zoom,гм...
базовая динамическая структура данных, состоящая из узлов, каждый из которых содержит как собственно данные, так и одну или две ссылки («связки») на следующий и/или предыдущий узел списка - связный список.

а как его реализовывать - дело ваше) а вы путаете структуры и списки с классами)
zoom-zoom
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 5
01.12.2012, 20:41  [ТС]     работа со списками(двунаправленные списки) #8
Rabbit13245, возможно((( а не подскажете тогда как написать функцию по удалению максимума из списка?
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
01.12.2012, 20:49     работа со списками(двунаправленные списки) #9
ну у вас список связан. в одну сторону пробегаетесь, ищите этот максимум. а потом просто перекидываете указатели, так чтобы на него ничего не указывало.

Добавлено через 5 минут
P.S. еще счетчик уменьшить надо.
zoom-zoom
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 5
01.12.2012, 20:53  [ТС]     работа со списками(двунаправленные списки) #10
Rabbit13245, а с самим кодом не могли бы помочь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 10:47     работа со списками(двунаправленные списки)
Еще ссылки по теме:

Работа со списками C++
C++ ООП. Вложенные структуры. Двунаправленные списки
Списки двунаправленные. Удалить все нулевые элементы C++
C++ Работа со списками
Работа со списками C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
02.12.2012, 10:47     работа со списками(двунаправленные списки) #11
Односвязный, двусвязный список, стек, очередь Вот тут товарищ выложил)
Yandex
Объявления
02.12.2012, 10:47     работа со списками(двунаправленные списки)
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru