Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
1

Односвязный кольцевой список

25.03.2015, 18:16. Показов 520. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите найти ошибки в реализации функций для вставки удаления с конца и начала односвязного кольцевого списка.

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
void IntegerListPushBack ( IntegerList & _list, int _data, int _suit )
{
    IntegerList::Node * pNewNode = new IntegerList::Node;
    pNewNode->suit = _suit;
    pNewNode->m_value = _data;
 
    if ( IntegerListIsEmpty ( _list ) )
    {
        _list.m_pFirst = _list.m_pLast = pNewNode;
        _list.m_pFirst->m_pNext = _list.m_pLast;
        _list.m_pLast->m_pNext = _list.m_pFirst;
    }
 
    else
    {
        _list.m_pLast->m_pNext = pNewNode;
        _list.m_pLast = pNewNode;
        pNewNode->m_pNext = _list.m_pFirst;
    }
}
 
 
void IntegerListPushFront ( IntegerList & _list, int _data, int _suit )
{
    IntegerList::Node * pNewNode = new IntegerList::Node;
    pNewNode->suit = _suit;
    pNewNode->m_value = _data;
 
    if ( IntegerListIsEmpty ( _list ) )
    {
        _list.m_pFirst = _list.m_pLast = pNewNode;
        _list.m_pFirst->m_pNext = _list.m_pLast;
    }
    else 
    {
        pNewNode->m_pNext = _list.m_pFirst;
        _list.m_pFirst = pNewNode;
    }
 
    _list.m_pLast->m_pNext =_list.m_pFirst;
}
 
 
void IntegerListPopFront ( IntegerList & _list )
{
    assert( ! IntegerListIsEmpty( _list ) );
 
    IntegerList::Node * pFirst = _list.m_pFirst;
 
    if ( IntegerListSize ( _list ) == 1 )
        _list.m_pFirst = _list.m_pLast = nullptr;
 
    else
    {
        _list.m_pFirst = _list.m_pLast = pFirst->m_pNext;
    }
 
    delete pFirst;    
}
 
 
void IntegerListPopBack ( IntegerList & _list )
{
    assert( ! IntegerListIsEmpty( _list ) );
 
    IntegerList::Node * pLast = _list.m_pLast;
 
    if (  IntegerListSize ( _list ) == 1 )
        _list.m_pFirst = _list.m_pLast = nullptr;
 
    else
    {
        IntegerList::Node * pCurrent = _list.m_pFirst;
        while ( pCurrent->m_pNext != _list.m_pLast )
            pCurrent = pCurrent->m_pNext;
 
        _list.m_pLast = pCurrent;
        pCurrent->m_pNext =  _list.m_pFirst;
    }
 
    delete pLast;
}
а вот сам список
C++
1
2
3
4
5
6
7
8
9
10
11
struct IntegerList
{
    struct Node  // card
    {
        int m_value;
        int suit;
        Node * m_pNext;
    };
 
    Node * m_pFirst, * m_pLast;
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2015, 18:16
Ответы с готовыми решениями:

Кольцевой односвязный список
Доброго времени суток, требуется помощь в создании односвязного кольцевого списка. смог только этот...

Кольцевой односвязный список
Реализовал класс для работы со списком студентов( использовал кольцевой односвязный список). Для...

Односвязный кольцевой список
Подскажите, как изменить данный код, что бы список стал кольцевым? #include <iostream> #include...

Кольцевой односвязный список
Есть список программа удаляет добавляет редактирует сортирует есть поиск но если сначала добавить...

0
25.03.2015, 18:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2015, 18:16
Помогаю со студенческими работами здесь

Односвязный кольцевой список
Односвязный кольцевой список. в качестве аргумента передается значение value. Если оно есть в...

Кольцевой односвязный список
Собственно что это и с чем его едят! Как реализовать, если это что-то страшное! Задача : сделать...

Кольцевой односвязный список
Здравствуйте! Работаю с кольцевым односвязным списком на C++ Насколько я понимаю, удаляемый...

Односвязный кольцевой список, реализовать
Помогите написать и реализовать кольцевой список


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru