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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.81
PCJakeD
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 19
#1

Линейный список. Добавление в начало списка элементов - C++

07.12.2011, 14:35. Просмотров 3887. Ответов 0
Метки нет (Все метки)

Есть задача:
- представить таблицу в виде линейного списка
- организовать добавление элементов
- исключение элементов из списка
- просмотр списка
- и добавление элементов в начало списка.

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

Сама структура:
C++
1
2
3
4
5
6
7
8
9
10
struct form {
    int NUM;
    char FIO[15];
    char DATE[9];
    char SEX[2];
    char FAMILY[2];
    int CHILDREN;
    int PAY;
    form *next;
};
Добавление "пользователя":
C++
1
2
3
4
5
6
7
case 1: if (begin) // если очередь не пустая
             end = Add(end,AddUser()); // добавляет в конец 
          else {
             begin = AddFirst(AddUser()); // иначе создает первый элемент очереди
             end = begin;
          }
          break;
Функция ввода данных "пользователя":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
form AddUser() {
 
    form z;
 
    cout<<"Number: "; cin>>(z.NUM);
    cout<<"FIO: ";
        cin.ignore();
        cin.getline(z.FIO,16);
    cout<<"DATE: ";
        cin.getline(z.DATE,10);
    cout<<"SEX m/f: ";
        cin.getline(z.SEX,3);
    cout<<"Family t/f: ";
        cin.getline(z.FAMILY,3);
    cout<<"Children: ";
        cin>>(z.CHILDREN);
    cout<<"Pay: ";
        cin>>(z.PAY);
 
    return z;
}
Две функции о которых говорилось выше:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
form *Add(form *end,const form &z) {
    form *newE = new form;
    *newE = z;
    newE->next = 0;
    end->next = newE;
    end = newE;
    return end;
}
 
form *AddFirst(const form &z) {
    form *begin = new form;
    *begin = z;
    begin->next = 0;
    return begin;
}
Может быть у кого то есть пример или вы делали себе и у вас остались исходники.
Буду благодарен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 14:35     Линейный список. Добавление в начало списка элементов
Посмотрите здесь:
C++ Добавление элементов в односвязный линейный список
Список. Найти сумму элементов, больших 3 и меньших 8 и поместить ее в начало списка C++
Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением) C++
C++ Список: Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка?
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке C++
C++ Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д
Оптимизировать добавление элемента в линейный список C++
Добавление элемента в начало списка C++
C++ Добавление и удаление- Линейный однородный список (ЛОС)
Добавление элемента в начало односвязного списка C++
C++ Двусвязный список. Добавление элемета в начало
C++ Вставить в линейный список перед элементом с заданным значением другой линейный список

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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