|
Как отсортировать массив? | ☑ | ||
---|---|---|---|---|
0
SpiKe
09.01.13
✎
17:20
|
Как отсортировать массив чисел, допустим разделенных пробелом, по возрастанию или убыванию?
|
|||
1
pessok
09.01.13
✎
17:23
|
пузырьком, например
|
|||
2
pessok
09.01.13
✎
17:23
|
а вообще перегнать в список значений и уже его сортировать :)
|
|||
3
Armando
09.01.13
✎
17:24
|
Домашку задали?
|
|||
4
SpiKe
09.01.13
✎
17:24
|
вопрос на собеседовании был такой, я только учусь ещё
|
|||
5
х86
09.01.13
✎
17:25
|
(0)загрузить колонку в Таблицу значений, отсортировать, выгрузить
|
|||
6
pessok
09.01.13
✎
17:25
|
(5) сурово! :)
|
|||
7
pessok
09.01.13
✎
17:25
|
СписокЗначений (ValueList)
СортироватьПоЗначению (SortByValue) Синтаксис: СортироватьПоЗначению(<Направление>) Параметры: <Направление> (необязательный) Тип: НаправлениеСортировки. Способ сортировки - по возрастанию или по убыванию. Значение по умолчанию: Возр Описание: Сортирует список значений в порядке возрастания или убывания хранимых элементами значений. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: СписокТиповЦен.СортироватьПоЗначению(НаправлениеСортировки.Возр); |
|||
8
pessok
09.01.13
✎
17:26
|
и загрузка массива в СЗ
СписокЗначений (ValueList) ЗагрузитьЗначения (LoadValues) Синтаксис: ЗагрузитьЗначения(<МассивЗначений>) Параметры: <МассивЗначений> (обязательный) Тип: Массив. Массив, содержащий значения для заполнения списка значений. Описание: Загружает список значений значениями из переданного массива. При этом все прежние элементы списка удаляются. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: СписокТиповЦен.ЗагрузитьЗначения(МассивЭлементов); |
|||
9
acsent
09.01.13
✎
17:27
|
Удиви их реализацией квиксорт ))
|
|||
10
le_
09.01.13
✎
17:27
|
||||
11
SpiKe
09.01.13
✎
17:27
|
спасибо, буду пробовать))
|
|||
12
Утконос
09.01.13
✎
17:29
|
СЗ = Новый СписокЗначений;
СЗ.ЗагрузитьЗначения(МассивНаименований); СЗ.СортироватьПоЗначению(НаправлениеСортировки.Убыв); МойМассив = СЗ.ВыгрузитьЗначения(); |
|||
13
DrShad
09.01.13
✎
17:31
|
(8) дело в том что по сабжу не совсем массив :)))
|
|||
14
pessok
09.01.13
✎
17:32
|
(13) ну сначала строку разобрать и поместить в список
|
|||
15
DrShad
09.01.13
✎
17:34
|
(14) а вот это уже настолько же сурово, как с сортировкой в ТЗ - ведь массив можно и в колонку загрузить
|
|||
16
pessok
09.01.13
✎
17:37
|
(15) да никто не против велосипедного кьюсорта, но, имхо, на собеседовании от него просили именно такой вариант :)
|
|||
17
DrShad
09.01.13
✎
17:39
|
(16) за такие вопросы на собеседование на кол нужно сажать
|
|||
18
pessok
09.01.13
✎
17:40
|
(17) это уже десятый вопрос. может его хыр менеджер со списком от бывшего программатора собеседовал
|
|||
19
pessok
09.01.13
✎
17:40
|
со списком вопросов*
|
|||
20
SpiKe
09.01.13
✎
17:41
|
тестировал сам программист, который там работает, дал несколько задачек, одна из которых была эта
остальные решил |
|||
21
acsent
09.01.13
✎
17:42
|
(16) зато сразу +10 пунктов к крутизне
|
|||
22
GROOVY
09.01.13
✎
17:42
|
В временную таблицу в запрос, запросом сортировать и результат обратно в массив!
|
|||
23
DrShad
09.01.13
✎
17:42
|
(20) беги оттуда
|
|||
24
DrShad
09.01.13
✎
17:43
|
(22) нафейхоа!? Паша, извини, но это уже совсем слишком
|
|||
25
pessok
09.01.13
✎
17:43
|
(21) угу, пм посмотрим на него и решит, что это древний си-кодер, который не вникнет в бизнес-процесс, выдумывая велосипеды
|
|||
26
pessok
09.01.13
✎
17:44
|
(24) зато еще (21) :)
|
|||
27
acsent
09.01.13
✎
17:45
|
(25) так нужно спросить вам чтоб быстро работало или легко читалось. Еще +10 к комуникабельности
|
|||
28
pessok
09.01.13
✎
17:45
|
собственно, ТС, каковы был ТВОЙ ответ?)
|
|||
29
pessok
09.01.13
✎
17:45
|
(27) тут надо спросить не так. надо спросить: "вам средствами 1С, или по-человечески написать?"
|
|||
30
Deon
09.01.13
✎
17:46
|
(28) вручную
|
|||
31
GROOVY
09.01.13
✎
17:46
|
Совсем круто это конечно через внешние источники данных все это замутить!
|
|||
32
DrShad
09.01.13
✎
17:46
|
(29) может получиться epic fail - вдруг тот программист ничего кроме 1С не знает
|
|||
33
ДенисЧ
09.01.13
✎
17:47
|
(31) ВИД - не кошерно. Нужно написать свою ВК для низкоуровнего доступа к бд...
|
|||
34
pessok
09.01.13
✎
17:48
|
(32) вот это я и имел ввиду в (18)
|
|||
35
х86
09.01.13
✎
17:48
|
(31)я еще знаю дедовский метод сортировки построителем )
|
|||
36
pessok
09.01.13
✎
17:48
|
(33) тогда вообще надо брейнфак заюзать, будет дичь!
|
|||
37
ДенисЧ
09.01.13
✎
17:49
|
(36) это точно, дичь :-)
|
|||
38
Reset
09.01.13
✎
17:49
|
Сз=Новый СписокЗначений;
Сз.ЗагрузитьЗначения(ОбщегоНазанченияИлиКактам.РазложитьСтрокуВМассимПодстрокИликакЕе(ИсходнаяСтрока," ")); Сз.СортироватьПоЗначению(); |
|||
39
Deon
09.01.13
✎
17:49
|
Ещё надо не забыть, что числа могут быть дробными, а т.к. на входе в (0) строка, то необходимо отработать проблему с разделителем - . или ,
|
|||
40
acsent
09.01.13
✎
17:50
|
(29) вот этот вопрос как раз и выдаст старого си кодера с головой
|
|||
41
Reset
09.01.13
✎
17:50
|
(39) вероятно проблема с разделителем решается так:
" допустим разделенных пробелом" |
|||
42
pessok
09.01.13
✎
17:50
|
(39) по условиям задачи там пробел
|
|||
43
pessok
09.01.13
✎
17:50
|
,----------
[ ----- ----- ----- ----- ----- --- [->+<]> [ [->+<] +>- ] >>>>> >>>>> + <<<<< <<<<< <[-<] ,----- ----- ] |
|||
44
Deon
09.01.13
✎
17:50
|
(41)(42) С разделителем дробной части
|
|||
45
pessok
09.01.13
✎
17:51
|
+(43)
Таким нехитрым способом мы отсортировали цифры. Несложно модифицировать код, чтобы сортировались почти любые символы, либо выводить цифры по убыванию. Использую эту идею можно сортировать не только цифры, но и 2ух — 3ех значные числа, возможно, позже я напишу об этом. |
|||
46
Reset
09.01.13
✎
17:52
|
(44)
а ну да, их нужно еще в числа перед сортировкой преобразовать. |
|||
47
Deon
09.01.13
✎
17:53
|
(46) В условии задачи этого нет. Непонятно, какое возрастание надо для чисел, к примеру, "1 10 100" ?
|
|||
48
Reset
09.01.13
✎
17:54
|
(47) ну да, не сказано про метод сравнения для сортирвки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |