Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
squi
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 25
1

Из односвязного списка в двусвязный

18.09.2013, 12:55. Просмотров 700. Ответов 3
Метки нет (Все метки)

Помогите, кусок переделать в двусвязный список.
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
#include <iostream>
using namespace std;
    
struct Node 
{
    int data;
    Node *next;
};
void print (Node *); 
 
int main()
{
    setlocale (LC_ALL,"Russian");
   
    Node *head=NULL;                          
    Node *put, *spisok, *last;                
    int nomer, vstavka, i, element;         
    
    cout << "Введите количество элементов: ";
      cin >> element;
   
    for (i=0; i<element; i++)
    {
        spisok=new Node;                           
     cout << "Элемент "<<i+1<<": ";
        cin>>spisok->data;                        
        spisok->next=NULL;                        
        
         if (head==NULL)                     
            head=spisok;                         
       
        else                               
        last->next=spisok;          
             last=spisok;                            
   }
 
    print (head);
 
system ("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 12:55
Ответы с готовыми решениями:

Переделать программу с односвязного на двусвязный список
Помогите переделать програмку с односв'язного на двосв'язний список. Условие...

Сделать двусвязный цикл из односвязного. Задача Джозевуза
Добрый день. Встала задача сделать программу для реализации считалки Джозефуза...

Удаление элементов из односвязного списка списка
Привет всем знатокам, суровым программистам и профессионалам своего дела. Засел...

Вывод односвязного списка
Выводи лишь последний элемент, в чёи ошибка? Подскажите пожалуйста #include...

Шаблон односвязного списка
Код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; template...

3
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
18.09.2013, 13:15 2
Для двусвязного списка надо еще один указатель внутри структуры

C++
1
2
3
4
5
6
struct Node 
{
    int data;
    Node *next;
    Node *prev; // указатедль на предыдущий элемент
};
0
Fyret
200 / 186 / 45
Регистрация: 30.07.2013
Сообщений: 392
18.09.2013, 13:19 3
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
50
51
52
53
54
55
56
57
58
59
#include <iostream>
    
struct Node 
{
    int data;
    Node* previous;
    Node* next;
};
 
void print(const Node* node)
{
    while( node )
    {
        std::cout << node->data << " ";
        node = node->next;
    }
    std::cout << std::endl;
}
 
int main()
{
    Node* head = NULL;
    Node* tail = NULL;
    int elements;         
    
    std::cout << "Enter number of elements: ";
    std::cin >> elements;
   
    for( int i = 0; i < elements; ++i )
    {
        Node* newNode = new Node;                           
        std::cout << "Element " << i+1 << ": ";
        std::cin >> newNode->data;
        newNode->next = NULL;
        newNode->previous = tail;
        
        if( !head )
        {
            head = tail = newNode;
        }
        else
        {
            tail->next = newNode;
            tail = newNode;
        }
    }
 
    print( head );
    
    while( head )
    {
        tail = head;
        head = head->next;
        delete tail;
        tail = NULL;
    }
 
    return 0;
}
0
squi
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 25
18.09.2013, 15:08  [ТС] 4
Цитата Сообщение от vodilawofer Посмотреть сообщение
Для двусвязного списка надо еще один указатель внутри структуры

C++
1
2
3
4
5
6
struct Node 
{
    int data;
    Node *next;
    Node *prev; // указатедль на предыдущий элемент
};
как образовать структуру двусвязного списка я знаю, мне нужно переделать кусок кода под него.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2013, 15:08

Печать односвязного списка
Доброго времени суток. Выполняя задание возникла трудность. Использую метод для...

Построение односвязного списка
Имеется следующая функция считывающая структуру из файла и создающая...

Идеология односвязного списка
Здарова! Посмотрел, что такое односвязный список и возникли естественно...


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

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

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