С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 118, средняя оценка - 4.92
Skies
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 23
#1

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

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

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

Связные списки - C++
Вот есть код все работает отлично но препод сказал что-бы при вводе элементов в список элементы сортировались вот к примеру 20 5 8 12 1 10...

Связные списки - C++
Помогите пожалуйста осуществить в программе вот такие вот действия: 1) добавление элементов в начало связного списка; 2)добавление...

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

Связные списки - C++
12. Использовать (линейные) однонаправленные списки без заглавной звена (рис. А) или с заглавной звеном (рис. Б) при последующем их...

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

Связные списки - C++
Я практически полный нуб в С++. Вот такая задача: В столовой предлагаются N комплексных обедов, состоящих из Q блюд. Известна стоимость и...

11
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
06.09.2012, 02:18 #2
В книге "Фридман. C++ архив программ" есть подробно прокомментированные примеры односвязного и двусвязного списка
0
Skies
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 23
06.09.2012, 02:55  [ТС] #3
так-то да, но с классами еще не знаком поэтому эта книга для меня еще рановата
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
06.09.2012, 03:15 #4
Цитата Сообщение от Skies Посмотреть сообщение
но с классами еще не знаком поэтому эта книга для меня еще рановата
Ну тогда вот пример на си
0
Вложения
Тип файла: rar Simple list.rar (4.3 Кб, 486 просмотров)
David Sylva
1291 / 953 / 51
Регистрация: 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 / 0
Регистрация: 30.06.2012
Сообщений: 23
06.09.2012, 17:03  [ТС] #6
а если мне нужно удалить один элемент без разрыва цепи, как это сделать?
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.09.2012, 17:24 #7
Удаление элемента в Списке По этой ссылке тема обсуждалась
0
EricJForster
1 / 1 / 0
Регистрация: 10.06.2016
Сообщений: 32
Завершенные тесты: 1
04.07.2016, 16:15 #8
Подскажите пожалуйста, а для чего они вообще нужны? ведь того же результата можно добиться гораздо более удобными и быстрыми способами...
0
_Ivana
3201 / 1817 / 153
Регистрация: 01.03.2013
Сообщений: 5,047
Записей в блоге: 4
04.07.2016, 16:18 #9
Цитата Сообщение от EricJForster Посмотреть сообщение
ведь того же результата можно добиться гораздо более удобными и быстрыми способами...
подкупом или угрозами?
0
Новичок
Модератор
1279 / 826 / 190
Регистрация: 17.07.2012
Сообщений: 4,364
Записей в блоге: 1
Завершенные тесты: 3
04.07.2016, 22:42 #10
Цитата Сообщение от EricJForster Посмотреть сообщение
а для чего они вообще нужны?
Ну вставка и удаление работают за константное время в отличие от массивов...
1
fire_Rising
10 / 11 / 2
Регистрация: 11.05.2016
Сообщений: 113
04.07.2016, 23:42 #11
EricJForster, ну не просто же так они существуют С массивами сделать тоже самое намного труднее, то же удаление элемента, здесь перенести указатель и удалить, а в массиве сдвигать весь массив + все это очень ресурсозатратно.

Добавлено через 1 минуту
Skies, советую посмотреть уроки Дениса Маркова на youtube, он подробно разбирает односвязный список без классов, сам смотрел и спокойно разобрался если что это не реклама.
1
ddfddf
0 / 0 / 0
Регистрация: 01.02.2015
Сообщений: 15
19.02.2017, 19:18 #12
забавно, но он не печатает результат
0
19.02.2017, 19:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2017, 19:18
Привет! Вот еще темы с ответами:

Связные списки - C++
Написать функцию, удаляющую из исходной строки заданный символ. Например, удаление символа ‘i’ из строки “cabin heating” дает в результате...

Связные списки - C++
Друзья, помогите исправить код!!! Программа описывет таблицу о книгах.(Название, автор, стоимость). Почему он поддчеркивает head, next,...

Массивы и связные списки - C++
Нужно взять како-то небольшой текст и напечатать все слова, которые начинаются с буквы, отличную от буквы, с которой начинается первое...

однонаправленные связные списки - C++
сформировать однонаправленный список содержащий последовательность символов s1 , s2 , . . . , sn ( n &gt;= 2 и заранее неизвестно)....


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

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

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