Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 |

 

  Вопрос: Удаление дубликатов из массива Добавлено: 11.11.05 15:04  

Автор вопроса:  AsHeS | ICQ: 229759992 

Ответить

  Ответы Всего ответов: 66  

Номер ответа: 31
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #31
Добавлено: 14.11.05 07:32
С Микрософт трудно поспорить, они "свои" методы сортировки тоже спионерили где то :). Я б конечно посмотрел почему такая большая разница, но никак времени не найду.

Ответить

Номер ответа: 32
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #32 Добавлено: 14.11.05 08:10
Любезный, вы ошибаетесь! Посмотрели бы в листбокс, специально вставил его, чтобы видно было.
Если лень в листбокс смотреть, можно после цикла заполнения листа поставить простенький цикл проверки:)

For i = 0 To 4799
    If (arr(i) > arr(i + 1)) Then MsgBox arr(i), vbCritical
Next i


Грешным делом даже поверил было, раз 30-40 проверил: а ведь нормально сортируется :))

Так что ни отсортировать, ни даже проверить сортированое толком не можете.
Либо предоставляете заведомо ложную информацию.

В общем надоели эти препирательства. Можете сортировать хоть пузырьком, наворачивая дополнительные тормоза и препоны. У автора вопроса есть информация к размышлению - пусть размышляет.
Успехов!

Ответить

Номер ответа: 33
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #33
Добавлено: 14.11.05 08:21
Наверное пусть лучше GSerg выложит свой архив с данными, а то мы до истины не докопаемся.

Ответить

Номер ответа: 34
Автор ответа:
 AsHeS



ICQ: 229759992 

Вопросов: 14
Ответов: 93
 Профиль | | #34 Добавлено: 14.11.05 09:48
1) Народ , сортировка это конечно хорошо , но мне в первую очередь нужна не сортировка , а удаление дублирущих записей
2) В массиве не так много записей и скорость выполнения алгоритма не так важна . Мне главное простота исполнения , так как я начинающий программист

Ответить

Номер ответа: 35
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #35 Добавлено: 14.11.05 13:02
Хрен пойми чё...
Не могу получить тот же результат, что и вчера, на том же коде :?
Завтра попробовать, что ли? :?

В общем надоели эти препирательства.

А, так вы расцениваете этот как препирательства?? Тогда конечно, пора закругляться.
Я-то, грешным делом, считал это дискуссией с целью установления истины.


1) Народ , сортировка это конечно хорошо , но мне в первую очередь нужна не сортировка , а удаление дублирущих записей

Отсортируй массив.
После этого все дубликаты окажутся рядом, и для их удаления надо будет пройтись по массиву один раз вперёд.

Ответить

Номер ответа: 36
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #36 Добавлено: 14.11.05 13:45
Не будет подтверждения неправильности приведенного мной алгоритма, хоть сегодня, хоть завтра. Потому что в коде все правильно. Я его проверил тремя способами:
1. Проверка массива поиндексным сравнением
For i = 0 To 4799
    If (arr(i) > arr(i + 1)) Then MsgBox arr(i), vbCritical
Next i


2. Проверка массива путем поиндексного сравнения с другим сортированным массивом, который получен от нерекурсивного метода
For i = 0 To 4800
    If (Arr(i) <> MyArr(i - 800)) Then MsgBox Arr(i), vbCritical
Next i


3.Сохранением в файл и просмотром файла.

Ни один из способов проверки ни разу не выявил ошибки. Думаю, на этом можно вопрос правильности закрыть.

Что касается установления истины:
Предположение, что рекурсивный способ в VB будет работать в 50 раз медленее нерекурсивного, основано на результатах работы неправильно спроектированного кода. Что наглядно подтверждено приведенным мной стандартным вариантом quick_sort.
То, что нерекурсивный способ при одинаково грамотной реализации окажется быстрее, никто не отрицает. Но не в 50 раз. И не только в VB.
Чтобы установить, во сколько раз на самом деле разница, нужно реализовать нерекурсивный способ грамотно, т.к. приведенная реализация QuickSortNonRecursive весьма далека от оптимальной, о чем косвенно говорит тот факт, что даже рекурсивный способ оказался быстрее.
Так что, если есть желание установить истину, пишите новую реализацию QuickSortNonRecursive, которая окажется быстрее. А существующая даже не дотягивает до приведенной мной рекурсивной.
И тогда мы сравним и посчитаем, что и во сколько раз быстрее.

Ответить

Номер ответа: 37
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #37
Добавлено: 15.11.05 14:51
Не будет подтверждения неправильности приведенного мной алгоритма, хоть сегодня, хоть завтра.

 Типичный кстати приём любой лженауки - авторитетное высказывание в надежде что никто его не будет проверять. Хорошо что уважаемый GSerg нас пока торсионным полям не обучает :)

Ответить

Номер ответа: 38
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #38
Добавлено: 15.11.05 16:34
HOOLIGAN,
 кстати впечатление всё равно осталось. Я например не стал твой код себе копировать. Вдруг сглючит в важном месте. Получается он и тебя дискредитировал и доказательств не предоставил. Требую доказательств! :)

Ответить

Номер ответа: 39
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #39
Добавлено: 15.11.05 16:38
HOOLIGAN,
 кстати впечатление всё равно осталось. Я например не стал твой код себе копировать. Вдруг сглючит в важном месте. Получается он и тебя дискредитировал и доказательств не предоставил. Требую доказательств! :)

Ответить

Номер ответа: 40
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #40
Добавлено: 15.11.05 16:43
HOOLIGAN,
 кстати впечатление всё равно осталось. Я например не стал твой код себе копировать. Вдруг сглючит в важном месте. Получается он и тебя дискредитировал и доказательств не предоставил. Требую доказательств! :)

Ответить

Номер ответа: 41
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #41 Добавлено: 15.11.05 17:06
CyRax
Боишься он тебе комп поломает?
:)))))

Вообще-то мне все равно, используешь ты его или нет. Да и код не мой. Алгоритм взят с algolist.manual.ru. Это стандартная реализация qSort. Так что все претензии к изобретателю алгоритма :)))
Хотя им пользуются все, это классика. Это от GSerg'а я первый раз услышал, что алгоритм неправильный :)
Я его реализовывал на 3 языках, и постоянно использую, никаких нареканий.

Ну раз GSerg запугал тебя, то используй пузырёк, пока я его не запостил. А то потом пузырёк тоже станет неправильным кодом:)))

Ответить

Номер ответа: 42
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #42
Добавлено: 15.11.05 17:48
Сори, я так думаю на сайте защита от частых постов в одной теме стоит. Вот и забываю всё время паузу между сообщениями сделать.

Ответить

Номер ответа: 43
Автор ответа:
 AsHeS



ICQ: 229759992 

Вопросов: 14
Ответов: 93
 Профиль | | #43 Добавлено: 18.11.05 16:49
Так , с сортировкой разобрался - взял из родной Майкрософтовской книги .
Но чет у мя все равно ниче не выходит ((( Почему-то в массиве остается только 1 запись . Народ помогите . Мне очень срочно нужна эта функция ! Напишите плз , если кто знает

Ответить

Номер ответа: 44
Автор ответа:
 AsHeS



ICQ: 229759992 

Вопросов: 14
Ответов: 93
 Профиль | | #44 Добавлено: 18.11.05 16:50
Так , с сортировкой разобрался - взял из родной Майкрософтовской книги .
Но чет у мя все равно ниче не выходит ((( Почему-то в массиве остается только 1 запись . Народ помогите . Мне очень срочно нужна эта функция ! Напишите плз , если кто знает

Ответить

Номер ответа: 45
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #45 Добавлено: 18.11.05 18:13
Как удалял дубликаты после сортировки?

Ответить

Страница: 1 | 2 | 3 | 4 | 5 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам