Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Skies
0 / 0 / 1
Регистрация: 30.06.2012
Сообщений: 23
#1

Связные списки - C++

06.09.2012, 02:07. Просмотров 22060. Ответов 12
Метки нет (Все метки)

Доброго времени суток. И у меня такая проблема - не могу разобраться со связными списками.
Не могли бы вы помочь мне с этим, допустим, привести в пример какую-нибудь структуру и показать пример создания\удаления списка, добавление\удаление элемента списка и еще какие нибудь действия со списками и структурами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2012, 02:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Связные списки (C++):

Связные списки
Вот есть код все работает отлично но препод сказал что-бы при вводе элементов в...

Связные списки
Друзья, помогите исправить код!!! Программа описывет таблицу о...

Связные списки
12. Использовать (линейные) однонаправленные списки без заглавной звена (рис....

связные списки
12. Використовувати (лінійні) односпрямовані списки без заголовної ланки (мал....

Связные списки
Помогите пожалуйста осуществить в программе вот такие вот действия: 1)...

Связные списки.
Всем привет ребят можете привести пример двусвязносго списка.

12
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
06.09.2012, 02:18 #2
В книге "Фридман. C++ архив программ" есть подробно прокомментированные примеры односвязного и двусвязного списка
0
Skies
0 / 0 / 1
Регистрация: 30.06.2012
Сообщений: 23
06.09.2012, 02:55  [ТС] #3
так-то да, но с классами еще не знаком поэтому эта книга для меня еще рановата
0
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
06.09.2012, 03:15 #4
Цитата Сообщение от Skies Посмотреть сообщение
но с классами еще не знаком поэтому эта книга для меня еще рановата
Ну тогда вот пример на си
0
Вложения
Тип файла: rar Simple list.rar (4.3 Кб, 501 просмотров)
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.09.2012, 12:43 #5
Простенький пример реализации связного списка

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream> 
using namespace std; 
 
struct link 
{ 
    int data; 
    link* next; 
}; 
 
link* first = NULL; 
 
void additem(int d) // добавление элементов список
{ 
    link* newlink = new link; 
    newlink->data = d; 
    newlink->next = first; 
    first = newlink; 
} 
 
void display() // вывод на экран
{ 
    link* current = first; 
    while(current) 
    { 
        cout << current->data << endl; 
        current = current->next; 
    }  
}  
 
void del() // удаление элементов
{ 
    link* current = first; 
    while(current != NULL) 
    { 
        link* temp = current; 
        current = current->next; 
        delete temp; 
    }  
    cout << "Elementi Udaleni " << endl;
}
 
int main() 
{ 
    additem(13); 
    additem(12); 
    additem(11);  
 
    display();  
}
2
Skies
0 / 0 / 1
Регистрация: 30.06.2012
Сообщений: 23
06.09.2012, 17:03  [ТС] #6
а если мне нужно удалить один элемент без разрыва цепи, как это сделать?
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.09.2012, 17:24 #7
http://www.cyberforum.ru/c-beginners/thread527675.html#post2834536 По этой ссылке тема обсуждалась
0
EricJForster
1 / 1 / 0
Регистрация: 10.06.2016
Сообщений: 32
Завершенные тесты: 1
04.07.2016, 16:15 #8
Подскажите пожалуйста, а для чего они вообще нужны? ведь того же результата можно добиться гораздо более удобными и быстрыми способами...
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
04.07.2016, 16:18 #9
Цитата Сообщение от EricJForster Посмотреть сообщение
ведь того же результата можно добиться гораздо более удобными и быстрыми способами...
подкупом или угрозами?
0
Новичок
Модератор
1482 / 949 / 457
Регистрация: 17.07.2012
Сообщений: 4,888
Завершенные тесты: 3
04.07.2016, 22:42 #10
Цитата Сообщение от EricJForster Посмотреть сообщение
а для чего они вообще нужны?
Ну вставка и удаление работают за константное время в отличие от массивов...
1
fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
04.07.2016, 23:42 #11
EricJForster, ну не просто же так они существуют С массивами сделать тоже самое намного труднее, то же удаление элемента, здесь перенести указатель и удалить, а в массиве сдвигать весь массив + все это очень ресурсозатратно.

Добавлено через 1 минуту
Skies, советую посмотреть уроки Дениса Маркова на youtube, он подробно разбирает односвязный список без классов, сам смотрел и спокойно разобрался если что это не реклама.
1
ddfddf
0 / 0 / 1
Регистрация: 01.02.2015
Сообщений: 20
19.02.2017, 19:18 #12
забавно, но он не печатает результат
0
vlisp
445 / 414 / 103
Регистрация: 10.08.2015
Сообщений: 1,402
Завершенные тесты: 1
03.04.2018, 00:54 #13
Цитата Сообщение от defer Посмотреть сообщение
В книге "Фридман. C++ архив программ" есть подробно прокомментированные примеры односвязного и двусвязного списка
Кто-то запускал этот код например для двусвязного списка код у меня вылетает

Добавлено через 13 минут
разобрался, выявились фефекты фикции
0
03.04.2018, 00:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2018, 00:54
Привет! Вот еще темы с решениями:

Связные списки
Я практически полный нуб в С++. Вот такая задача: В столовой предлагаются N...

Связные списки
Написать функцию, удаляющую из исходной строки заданный символ. Например,...

однонаправленные связные списки
сформировать однонаправленный список содержащий последовательность символов s1...

Файлы и связные списки
Помогите, как осуществить ввод списка из файла? Вывод данных в файл сделала, а...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru