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

Вставка в структуру записи - C++

Восстановить пароль Регистрация
 
Mischanja
Всегда не хватает времени
 Аватар для Mischanja
117 / 117 / 7
Регистрация: 15.10.2009
Сообщений: 493
03.07.2011, 23:53     Вставка в структуру записи #1
Доброго времени суток всем, подскажите пожалуйста вот есть код который вставляет в структуру запись перед именем:

C++
1
2
3
4
5
6
7
8
void add(std::list<car_owner> &l, const std::string &before, const car_owner &val) {
    for (std::list<car_owner>::iterator it = l.begin(); it != l.end(); ++it) {
        if (std::string(it->name) == before) {
            l.insert(it, val);
            break;
        }
    }
}
как сделать чтоб вставлялась запись не перед именем а перед определенным номером записи(например перед третьей записью в структуре)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2011, 23:53     Вставка в структуру записи
Посмотрите здесь:

вставка C++
Есть в записи числа m цифры, которые совпадают с цифрами в записи числа n C++
Создать файл, записи которого имеют следующую структуру C++
Написать функции для чтения/записи отдельных бит для любой записи из данного набора C++
Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. C++
C++ Нужен совет по чтению из файла и записи в структуру
Как создать структуру-список, поля которой — ссылка на такую же структуру C++
C++ Проверить, есть ли в записи числа m цифры, совпадающие с цифрами в записи числа n

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
04.07.2011, 13:13     Вставка в структуру записи #2
Mischanja, можно так
C++
1
2
3
4
// n-й элемент в списке
        list<car_owner>::iterator iter = l.begin();
    advance( iter, n);
    l.insert( iter, val);
, но advance небезопасна, не проверяется выход за границы.
или так
C++
1
2
3
4
5
    // n-й элемент в списке
    list<> iterator iter = aList.begin();
    while (n-- > 0 && it != aList.end())
        iter++;
    l.insert( iter, val);
Yandex
Объявления
04.07.2011, 13:13     Вставка в структуру записи
Ответ Создать тему
Опции темы

Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru