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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование Классов http://www.cyberforum.ru/cpp-beginners/thread307140.html
class base { public: int t; base(){t=0;}; ~base(){}; }; class one:public base { public:
C++ класс фигур Доброго времени суток . Снова нужна помощь . Задание такое : создать абстрактный класс фигур и сделать 2 наследника (класс треугольников и прямоугольников) . Методы : нахождение площади фигуры ,... http://www.cyberforum.ru/cpp-beginners/thread307131.html
Работа с классами по матрице C++
8. В (0, 1)-матрице подсчитать число изолированных 0-областей, т.е. областей, состоящих из одних нулей. Отметим, что 0-область может состоять не только из одного нулевого элемента. Например, для (0,...
C++ вторая производная в С
у меня определенная функцияю y=(cos(x)+6)/sinx мне нужно найти вторую производнуюб не пойму как мне это реализовать в С?
C++ Работа со структурами, поиск ошибок http://www.cyberforum.ru/cpp-beginners/thread307098.html
Необходимо написать программу роботы с массивом из 10 объектов. Нужны отдельные функции инициализации объектов и вычислений. Программа должна иметь меню. Условие: объекты - работники на ЧП....
C++ в отсортированный массив, вставить случайное число, чтобы он оставался отсортированным Помогите пожалуйста! Как мне сделать задачу на C++ в win32. В Dos я ее сделал, а вот как сделать ее не в Dos я не знаю. Вот сама задача: Дан одномерный массив длиной N. Массив заполняется датчиком... подробнее

Показать сообщение отдельно
Dark Alchemist
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 7

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

28.05.2011, 20:46. Просмотров 1463. Ответов 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;
}
Необходимо, чтобы элементы добавлялись не в конец, а в начало списка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru