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

удаление/добавление записи по ключу в односвязном списке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Литература по Visual C++ http://www.cyberforum.ru/cpp-beginners/thread160244.html
Доброго времени суток. 1. Подскажите пожалуйста хорошую книжку по Visual C++ класса - "от А до Я" среда VS. что бы в ней было описание всех формочек, кнопочек до сети и графики и тд. 2. Книжка по API винды от xp до 7. 3. Всем спасибо :).
C++ Цикл for и 56 карт Выводит 14! карт в каждой строке. Я не понял как это получается. // 7_6.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <cstdlib> #include <ctime> http://www.cyberforum.ru/cpp-beginners/thread160209.html
Печать слова копейка в согласованном падеже C++
какая для целого числа печатает слово копейка в согласованном падеже.
Не могу понять в чем ошибка: реализация односвязного списка C++
#include <iostream> using namespace std; struct list { int key; list *next; }; void addList(list *start);
C++ Функция, определяющая достижение начала файла: есть ли такая? http://www.cyberforum.ru/cpp-beginners/thread160173.html
Собственно мне нужна функция, проверяющая достижение начала файла, типа feof только наоборот. Гуглил, ничего не нашел =(
C++ Есть исходники браузера? Есть у кого-нибудь исходники браузера? П.С.Администрации сделайте в каждом разделе форума чат, примерно для таких вопросов. Добавлено через 6 минут П.С. Исходники нужны на чистом Си подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
19.08.2010, 18:11     удаление/добавление записи по ключу в односвязном списке
Вот пример с отображением std::map:
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
#include <iostream>
#include <cstdlib>
#include <map>
#include <string>
 
int main()
{
    std::string line;
    // Отображение: ключ - символ, значение - число повторов символа в строке
    std::map<char, size_t> map;
    std::cout << "Input a string:" << std::endl;
    // Заполнение отображения
    std::getline(std::cin, line);
    /* Оператор [] возвращает ссылку на существующее значение,
     * ассоциированное с ключем;
     * если такого значения не существует, то создается новое
     */
    for(std::string::const_iterator it = line.begin(); it != line.end(); ++it)
        ++map[*it];
    /* "Перемещение по отображению" - печать */
    for(std::map<char, size_t>::const_iterator it = map.begin();
        it != map.end();
        ++it)
        std::cout << "[" << it->first << "] => " << it->second << std::endl;
    /* Ищем значение, ассоциируемое с ключем 'l', удаляем его, если оно
     * существует, и печатаем отображение опять
     */
    std::map<char, size_t>::iterator at_l;
    if((at_l = map.find('l')) != map.end())
    {
        // Если значение нашлось
        std::cout << "Letter \'l\' was found. Deleting the value" << std::endl;
        // ... удаляем значение вместе с ключем
        map.erase(at_l); // можно map.erase('l');
        for(std::map<char, size_t>::const_iterator it = map.begin();
            it != map.end();
            ++it)
            std::cout << "[" << it->first << "] => " << it->second << std::endl;
    }
    else
        std::cout << "Letter \'l\' was not found" << std::endl;
    return EXIT_SUCCESS;
}

Не по теме:

Кстати, std::map ведь не получится сортировать с помощью std::sort? Как отсортировать по ключу, я еще представляю, а вот как сделать это по значению?



Добавлено через 10 минут

Не по теме:

Все, догадался

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