Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/23: Рейтинг темы: голосов - 23, средняя оценка - 4.78
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1

Самый производительный способ сравнения массивов

07.08.2011, 00:24. Показов 4676. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос этот давно интересует. Нигде не попадалась инфа об этом.
Может есть какая-то уже готовая функция, которая умеет это делать?
Пока что только знаю такой способ - создание 2-х деревьев из массивов и их сравнение - этот способ считаю самым быстрым. Есть ли более быстрый способ (либо функция), чем с деревьями + на который бы ушло немного времени на кодирование?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.08.2011, 00:24
Ответы с готовыми решениями:

Выбираем самый производительный ноутбук от 15к-18к рублей
Главным критерием выбора оптимальная начинка ноута, нужен чтобы можно поиграть, но при этом другие качества не отставали. Бюджетом...

Собрать самый производительный игровой комп, какой только возможно.
Я заядлый геймер которому не жалко денег. Я хочу создать мега мощный ПК. Тут у меня возникла проблема с подбором комплектующих... ...

Быстрый способ сравнения файлов
На одном форуме прочел коммент пользователя: Как реализовать чтение по кластерам и сравнение в памяти? Сравнение по байтам, по хэшу...

39
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
09.08.2011, 09:59
Студворк — интернет-сервис помощи студентам
kzru_hunter, Тебе еще учиться и учиться, set это STL - Standart Templates Library и Algorithm.h тоже, и все это как минимум стандартные компоненты! просто если ты считаешь что установил Буилдер, и теперь нужно пользоваться тем что есть в коробки(Так как буилдер туда это все запихал) это большая ошибка! помимо стандартного есть куча разных библиотек и компонентов(сторонних) которые тебе помогут решить твою задачу, а то что ты не знаешь, не умеешь или тебе просто не охота использовать set - это уже твоя проблема! а не программистов, пиши комментарии, что бы ты потом мог разобраться, а нормальный программист разберет все что угодно
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.08.2011, 10:51  [ТС]
иди учи свой линукс и засоряй этот раздел
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.08.2011, 11:09
прекращаем флудить!
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
09.08.2011, 11:14
Если тебе трудно даже стандарты выучить, тогда какой из тебя программист? Ссылаясь на то что это будет кому то не понятно, не задумываясь, что это не понятно только тебе!

Добавлено через 1 минуту
+ еще раз повторюсь STL это стандартная библиотека шаблонов, в которой довольно мощно реализованы контейнеры и метода для работы с ними!
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.08.2011, 11:28
_стандартные_алгоритмы_(STL) для того и разработаны, и потому и называются _стандартными_. не за чем рукоблудить. при том, что лучше все равно не получится.

полная дока по _стандартной_библиотеке_: http://cplusplus.com/reference/

и пожалуйста, без оффтопа/флуда.
2
09.08.2011, 12:16

Не по теме:

niXman, Вы бы указали, что mingw-4.6.0+boost-1.46.1+openssl-1.0.0d+libtorrent-rasterbar-0.15.6 - это архив 7z , а той мой файрфокс пытался полчаса загрузить эту страницу :(

0
09.08.2011, 12:25

Не по теме:

а файерфоксы не умеют определять на что ссылка указывает? оО

0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.08.2011, 12:28  [ТС]
одни слова, хоть бы кодом помогли.
и тема совсем не про set, а про сравнение массивов. set уходит на второе место.
больше не надо тут про set писать. мне нужен код, а не пустые слова.

есть ещё одна проблема: set упорядочивает след. образом:
Wdsa
dsasa
ffds
yty
т.е. буквы с верхним регистром идут первее букв с нижним.

Очевидно, нужно чтобы было так:
dsasa
ffds
yty
Wdsa

Прошу не флудить или учить, а помочь кодом.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.08.2011, 12:34
Цитата Сообщение от kzru_hunter Посмотреть сообщение
есть ещё одна проблема: set упорядочивает след. образом:
Wdsa
dsasa
ffds
yty
т.е. буквы с верхним регистром идут первее букв с нижним.
Очевидно, нужно чтобы было так:
dsasa
ffds
yty
Wdsa
а в доку заглянуть не судьба?
что вторым параметром шаблона идет?

зы
set ни в чем не виноват.
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
09.08.2011, 13:02
Зацени!!
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.08.2011, 13:19  [ТС]
ну это понятно, что вторым параметром идет сравнение.
что туда нужно подставить?
можете код вставить, как я просил? или опять поучения да ссылки?
0
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
09.08.2011, 14:18
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
#include <iostream>
#include <set>
#include <string.h>
using namespace std;
 
class MySort
{
    public:
    bool operator ()(string a1,string a2)
    {
        return a1.compare(a2);
    }
};
 
int main(void)
{   
    set<string,MySort > a;
    set<string,MySort >::iterator i;
    a.insert("Wasd");
    a.insert("dsasa");
    a.insert("ffds");
    a.insert("yty");
    for (i=a.begin();i!=a.end();i++)
        cout<<*i<<endl;
    
}
Если будешь брать примеры с некоторых людей, в будущем ты не одной программы не напишешь без помощи форума
 Комментарий модератора 
Хватит оффтопить и переходить на оскорбления пользователей.


Добавлено через 21 минуту
а щас и не трудно следующий вопрос твой предположить!!
))
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
#include <iostream>
#include <set>
#include <string.h>
#include <ctype.h>
using namespace std;
 
class MySort
{
    public:
    bool operator ()(string a1,string a2)
    {
        string t1(a1),t2(a2);
        for (int i=0;i<t1.length();i++)
            if (isupper(t1[i])) t1[i] = tolower(t1[i]);
        for (int i=0;i<t2.length();i++)
            if (isupper(t2[i])) t2[i] = tolower(t2[i]); 
        return (t1<t2);
    }
};
 
int main(void)
{   
    set<string,MySort > a;
    set<string,MySort >::iterator i;
    a.insert("Wasd");
    a.insert("dsasa");
    a.insert("ffds");
    a.insert("yty");
    for (i=a.begin();i!=a.end();i++)
        cout<<*i<<endl;
    return 0;
}
результат
Bash
1
2
3
4
5
pomka@Computer:~/cpp/C$ ./a.out 
dsasa
ffds
Wasd
yty
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.08.2011, 14:49  [ТС]
Цитата Сообщение от pomkalk Посмотреть сообщение
Если будешь брать примеры с некоторых людей, в будущем ты не одной программы не напишешь без помощи форума
я уже достаточно написал прог. и вообще, иди прочь с моей темы, не заходи больше на мои темы! ты бесполезен в этом разделе! флуди в другом. также твой код ниочем.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.08.2011, 16:29
Ну вообще то название темы реально дезооринтирует.
Действительно если коменты писать влом ну хотя бы задачу описали да ссылочка не помешала бы на то что такое симмитричная разница.

И все же для чего вам это чудо математики?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.08.2011, 17:39  [ТС]
просто заготовку хочу сделать. вдруг может понадобится.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.08.2011, 17:45
Заготовку для чего? В какой сфере?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.08.2011, 10:06  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Заготовку для чего? В какой сфере?
это может хоть где пригодиться, где придется что-то сравнивать. поэтому решил сделать заранее. я просто не люблю, когда программы тормозят. есть такие прогеры, которые делают тормозные программы, не подозревая, что есть более производительный способ.

вообщем, я уже забил на это. когда нужно будет это делать, буду подстраиваться по обстоятельства.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.08.2011, 10:42
Ну блин иногда производительность не играет роли. Например важнее скорость разработки приложения или более важно обработать нюансы с интерфейсом, исключениями.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
10.08.2011, 10:50  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
скорость разработки приложения
Цитата Сообщение от Avazart Посмотреть сообщение
производительность
вот эти две проблемы я их хотел решить в данной теме: сделать быстродействующую функцию, которая бы сравнивала массивы и находила либо разность либо объединение.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.08.2011, 20:14
И тем не менее я слабо представляюю где это можно использовать.

Добавлено через 7 часов 26 минут
А да, как вы собираетесь решать проблему с уникальностью элементов без set ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2011, 20:14

Самый удобный способ рисовать
Требуется рисовать элементы постепенно, в ответ на события (нажал кнопку - появился прямоугольник) Раньше делал это по координатам через...

Самый простой способ рисования
Здравствуйте. Недавно перешёл на Qt и вот появилась потребность нарисовать обычный прямоугольник без заливки. Начал читать документацию......

Самый быстрый способ склеивания строк
Закешировал файл в строку, десериализовал данные в массив экземпляров специально созданного класса. Далее обработал данные, и пытаюсь опять...

Самый простой способ воспроизведения музыки
Здравствуйте, хочу создать на сайте раздел с музыкой. Нашел различную инфу напримет http://atimstudio.ucoz.ru/index/0-80. Но хочется...

Какой способ рисования самый быстрый?
Вот нашел интересный код рисования на WinApi, переводил с языка С++: procedure TForm1.Button1Click(Sender: TObject); var hMemDC:HDC;...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru