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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Dark Alchemist
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 7
#1

Добавление элементов в список - C++

28.05.2011, 20:46. Просмотров 1458. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста!

Задание следующее:
Написать программу для работы с просматриваемой таблицей. Таблица организованная списком, каждый эл-т списка имеет списка имеет следующую структуру

Код:


C++
1
2
3
4
5
6
Struct Item{
int key; //ключ элемента
int release; //номер версии элемента
char *info; //указатель на информация
item *next; //укажите на след элемент 
}
Необходимо реализовать возможность включение нового элемента в таблицу при условии, что в таблице могут находиться несколько элементов с одинаковыми с одинаковыми ключами и разными версий.

У меня есть добавление элемента в конец списка

Код:


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
Node *AddSpis(Node *p, Node *b)         // Функция добавления списка
{
    Item *w;        // Помогающие указатели
    Item *ww;       // Помогающие указатели
    int key = 0, release =  0;
    char *str = new char(255);
    if (p == NULL){             // Если списка еще нету
        p = new Node;
        w = new Item;
        p->info = w;
    }
    else { p->link = new Node;  // Иначе он уже существует
         p = p->link;
         w = new Item;
         p->info = w;
    }
    w->string = new char(255);
    cout << "Vvedite - Key and String ne bolee 255 simvolov): \n";
    cin >> key;
    cin.clear();    // очищение буфера
    cin.sync();     // удаление сохранившегося нажатия ENTER
    cin.getline(str,255);       // Вводим значения для таблицы. 100 количество символов
    p->link = NULL;
    w->next = NULL;
 
    if (b != NULL)  // Если список уже существует
    while ( b != NULL) {        // В цикле мы проходим список и проверяем есть ли там key и release
        if (key == b->key)      // Если есть то мы находим самое большое значение release и запоминаем его
        {
            ww = b->info;
            if(release < ww->release)
            {
                release = ww->release;
            }
        }
        b = b->link;
    }
    release++;                  // Увеличивает на единицу
    w->release = release;       // И записываем результат
    p->key = key;
    w->string = str;
    return p;
}
Необходимо, чтобы элементы добавлялись не в конец, а в начало списка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавление элементов в список (C++):

Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением) - C++
Здравствуйте! Помогите написать программу, обеспечивающую работу с двунаправленным нециклическим списком: добавление/удаление элементов в...

Добавление в элементов в список - C++
Всем привет. Не могу в чем проблема. #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct...

Добавление элементов в список - C++
Добрый вечер господа, вобщем написал я тут список, вот такой: #include &lt;vcl.h&gt; #pragma hdrstop #pragma argsused #include...

Добавление элементов в список - C++
привет. я только начала разбираться со списками. вот написала программу по добавлению элементов. мне просто для начала нужна...

Добавление элементов в однонаправленный список - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; struct listNode{ char data; listNode *next;...

Добавление элементов в список - ошибка - C++
Ошибка при добавлении элементов в список: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; struct node { char*...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2011, 20:46
Привет! Вот еще темы с ответами:

Добавление элементов в двухсвязный список - C++
Надо создать двухсвязный список и надо реализовать добавление и удаление элементов: в начале, в конце и в середине (например добавить...

Добавление элементов в односвязный линейный список - C++
Всем добрый день! Написала функцию, которая добавляет элементы в список, причем каждый элемент добавляется по принципу, чтобы список был...

Реализовать пользовательский класс "Двунаправленный список"; реализовать добавление и удаление элементов - C++
Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить К элементов с...

Реализовать класс "Список"; реализовать добавление и удаление элементов - C++
помогите написать код по спискам. надо создать линейный односвязный (двухсвязный) список. Из списка удалить элементы, стоящие между...


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

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

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