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

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

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

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

07.12.2011, 14:35. Просмотров 4128. Ответов 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;
}
Может быть у кого то есть пример или вы делали себе и у вас остались исходники.
Буду благодарен за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 14:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Линейный список. Добавление в начало списка элементов (C++):

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

Список. Найти сумму элементов, больших 3 и меньших 8 и поместить ее в начало списка - C++
Помогите мне пожалуйста Создать программу для создания списка из 10 целых чисел, вводимых с клавиатуры и вывода его на экран....

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

Список: Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка? - C++
Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка? Вот сам список: #include &lt;conio.h&gt; ...

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

Оптимизировать добавление элемента в линейный список - C++
Функция void add_pered() добавляет перед элементов номер 5 нужный нам элемент. Как можно оптимизировать работу программы? Она работает, но...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 14:35
Привет! Вот еще темы с ответами:

Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д - C++
Помогите пожалуйста, нужно написать функцию добавления в линейный список заданного элемента после 1-го, 3-го, 5-го и т.д.

Добавление элемента в начало списка - C++
Проблема в том, что выводит 100, 9. Почему не выводит промежуточные значения - не понятно. Вроде бы не должен. #include &lt;stdio.h&gt; ...

Добавление и удаление- Линейный однородный список (ЛОС) - C++
Здравствуйте!Помогите написать методы добавления нового элемента в ЛОС и удаления из ЛОС.Очень хотелось бы разобраться ;) Если у кого-то...

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


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

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

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