Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка массива / 25 сообщений из 25, страница 1 из 1
22.10.2003, 18:03
    #32302065
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
подкиньте алгоритм сортировки массива по возрастанию. ЛЮБОЙ! Очень нужно!
...
Рейтинг: 0 / 0
23.10.2003, 04:44
    #32302366
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
обычный пузырек
бегаем по массиву, сравниваем два соседних элемента и упорядочиваем именно их. Проходы по массиву осуществляем до тех пор пока за весь проход не будет поменяно не одного элемента.

ну и еще проще, но эффективность значительно ниже. Ищем максимум, копируем в выходной масив, в оставшихся элементах снова ищем максимум и так далее пока не переберем весь массив. Сложность n! как видим очень высокая уже для 10 элементов
...
Рейтинг: 0 / 0
23.10.2003, 13:22
    #32302894
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
www.vbnet.ru/faq/showtopic.asp?id=353
...
Рейтинг: 0 / 0
23.10.2003, 18:32
    #32303588
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Processor писал:Сложность n! как видим очень высокая уже для 10 элементов
Это большая победа советской науки...
...
Рейтинг: 0 / 0
23.10.2003, 18:54
    #32303611
Max Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Действует только для .NET
Поскольку массив это объект, то:

Basic:

Dim iSort() as Integer
Dim iArray() as Integer={1,2,3}
ReDim iSort(2)
iSort=iArray.Sort()

C:

int[3] iSort; //в Си размерность = количество элементов!
int[] iArray={1,2,3};
iSort=iArray.Sort()

Согласись это проще, чем метод пузырька.
...
Рейтинг: 0 / 0
24.10.2003, 02:20
    #32303776
c127
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
2 StarWind

Все правильно, только в текст вкралась небольшая ошибочка: не n!, а n*(n+1)/2. Для 10 элементов ничего страшнrо не произойдет, руками можно посчитать, что ты возможно делал в младших классах на урокх родной речи, выстраивая слова в алфавитном порядке. Потому что там не произведение, а сумма.

2 *

Это еще не победа. Вот где настоящая победа:

>Действует только для .NET
>Поскольку массив это объект, то:
>...
>int[3] iSort; //в Си размерность = количество элементов!
>int[] iArray={1,2,3};
>iSort=iArray.Sort() ...
>
>Согласись это проще, чем метод пузырька.

Дядя Билли может спать спокойно, достойную смену вырастил. Такие не подведут.
...
Рейтинг: 0 / 0
24.10.2003, 03:29
    #32303785
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
c127
упс, сорри действительно, там сложение же идет, сорри, лапухнулся :))
...
Рейтинг: 0 / 0
24.10.2003, 10:19
    #32303938
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
//в Си размерность = количество элементов!

надо же, какая новость
...
Рейтинг: 0 / 0
24.10.2003, 10:28
    #32303952
OldPferd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Кнут том 3 - "Сортировка и Поиск"
Насколько помню, "пузырек" один из самых малоэффективных
...
Рейтинг: 0 / 0
24.10.2003, 15:33
    #32304513
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
to Я:
QuickSort, если простой алгоритм не устраивает:
http://www.websib.ru/noos/informatika/lit/jilin.htm

VB позволяет использовать рекурсию.
...
Рейтинг: 0 / 0
25.10.2003, 13:06
    #32305083
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
"Max Pro" писал:
Код: plaintext
1.
2.
3.
int[ 3 ] iSort; //в Си размерность = количество элементов!
int[] iArray={ 1 , 2 , 3 };
iSort=iArray.Sort() 



хе-хе-хе!! Это круто! Я тоже так могу. Даже еще проще.

Код: plaintext
1.
 cat file_with_array | sort 


Только это не алгоритм сортировки.
...
Рейтинг: 0 / 0
27.10.2003, 10:26
    #32305711
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Хрен: в садик иди

sort < file_with_array
...
Рейтинг: 0 / 0
27.10.2003, 11:17
    #32305808
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
я смотрю критики много, много слов не по делу... но вот только алгоритм никто другой не предлагает... Зато разговоров...
...
Рейтинг: 0 / 0
27.10.2003, 18:29
    #32306653
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Посмотри здесь http://www.avhohlov.narod.ru/p2100ru.htm
Если массив велик, квадратичные алгоритмы не должны рассматриваться.
А критика справедлива
...
Рейтинг: 0 / 0
28.10.2003, 03:28
    #32306844
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
согласен с оценкой сложности алгоритма, но "Насколько помню, "пузырек" один из самых малоэффективных" при том что человек ничего не предложил кроме ссылки на книгу . И при том что если мне не изменяет память, то скорость сортировки в среднем расна у всех быстрых алгоритмал и отличия проявляться начинаются при определенных условиях...
...
Рейтинг: 0 / 0
28.10.2003, 10:30
    #32307046
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
>при том что человек ничего не предложил кроме ссылки на книгу
Кнут ой-ля-ля! в че совсем что ли
...
Рейтинг: 0 / 0
28.10.2003, 11:14
    #32307124
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
http://algolist.manual.ru/sort/index.php
...
Рейтинг: 0 / 0
29.10.2003, 10:08
    #32308369
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
кстати, на алголист есть ошибки в одном из алгоритмов сортировок
устроит вас исходник на C для heapsort?
...
Рейтинг: 0 / 0
29.10.2003, 12:24
    #32308703
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
вот ссылка.
в книге приведены основные алгоритмы сортировок а также есть исходный код
http://sx.openbsd.ru/doc/books/C++%20Footprint%20and%20Performance%20Optimization.zip
...
Рейтинг: 0 / 0
07.11.2003, 11:27
    #32317788
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
http://relib.com/articles/article.asp?id=197
Статья "Фундаментальные основы VB. Списки: сортировка, поиск, удаление".
...
Рейтинг: 0 / 0
08.11.2003, 17:24
    #32318181
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
cyc10ne писал:
Хрен: в садик иди
sort < file_with_array


Сам в таком случае иди туда

sort filename
...
Рейтинг: 0 / 0
10.11.2003, 10:20
    #32318588
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
ничего подобного, ты с перенаправлением написал - я тебе привел
менее ресурсоемкий аналог именно с перенаправлением.
...
Рейтинг: 0 / 0
10.11.2003, 20:50
    #32319359
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Очень плохо, что приходится обьяснять задним числом, ну видимо придется.

Уважаемы циклон, Когда я писал ответ, имелось в виду, что iSort=iArray.Sort() это _не_ алгоритм сортировки. Это вызов метода, который отсортирует iArray. И в качестве примера я привел
cat file |sort. Нет никакой принципиальной разницы,

cat file | sort, или

sort < file или

sort file или вообще

exec <file
sort

Я точно также мог привести в качестве примера, скажем, библиотечную функцию qsort() для С.
Поэтому ваш ответ о том, что должно быть sort <filename , говорит либо о том, что вы _не_ _поймали_ основную мысль моего ответа, либо просто хотите покрасоваться. Скорее второе, судя по упоминанию садика.
...
Рейтинг: 0 / 0
11.11.2003, 10:46
    #32319697
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
если честно то первое
у меня уже давно не тот возраст чтобы красоваться
...
Рейтинг: 0 / 0
16.11.2003, 15:28
    #32325660
Циничный Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка массива
Гаф-гаф-гаф... :о)

Просили же - ЛЮБОЙ алгоритм сортировки. Пузырек вполне годится, потому как до безобразия прост и его помнят ну практически все.

Если нужен ЭФФЕКТИВНЫЙ алгоритм - открываем того же Кнута и смотрим. Кнут, кстати, в любом хорошем книжном магазине продается и стоит доступно. Я вот например не помню в деталях алгоритма быстрой сортировки - и что? На то справочники и придуманы.

Если совсем озабочены эфективностью работы с большими данными - я бы еще подумал о том, в каком виде эти данные хранить. Ибо встроенные массивы суть структура не очень подходящая и решения в духе

Код: plaintext
1.
2.
3.
Dim iSort() as Integer 
Dim iArray() as Integer={ 1 , 2 , 3 } 
ReDim iSort( 2 ) 
iSort=iArray.Sort() 


на канают, бо доступ по индексу в массиве фиксированной размерности не самое эффективное решение если в первую очередь интересует значения элементов.

...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка массива / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]