The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Сортировка значений хэша"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Сортировка значений хэша" 
Сообщение от XPurple emailИскать по авторуВ закладки(ok) on 02-Ноя-05, 21:11  (MSK)
Как отсортировать значения хэша в алфавитном порядке ?
есть такой хеш %hash1=(2,Nora,4,Bora,3,Cora,1,Lora)

Требуется его отсортировать по именам (Bora,Cora,Lora,Nora) и привести к виду:

%hash2=(4,Bora,3,Cora,1,Lora,2,Nora);
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Сортировка значений хэша" 
Сообщение от mr_jz Искать по авторуВ закладки on 02-Ноя-05, 22:17  (MSK)
>Как отсортировать значения хэша в алфавитном порядке ?

Порядок хранения элементов в хэше зависит исключительно от положения звезд на небе.
Если нужно вывести в отсортированном виде то подойдет примерно следующее:

my @sorted_keys = sort ($hash1{$a} cmp $hash1{$b}) keys %hash1;
В @sorted_keys будет (4,3,1,2);


Если важно именно хранение в отсортированном виде то см. Tie::SortHash, правда я слабо себе представляю зачем такое может понадобиться.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Сортировка значений хэша" 
Сообщение от XPurple emailИскать по авторуВ закладки(ok) on 03-Ноя-05, 05:08  (MSK)
>правда я слабо себе представляю зачем такое может понадобиться.
В хэше находятся имена пользователей, которые нужно вывести в отчет в алфавитном порядке.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Сортировка значений хэша" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 03-Ноя-05, 10:06  (MSK)
>>правда я слабо себе представляю зачем такое может понадобиться.
>В хэше находятся имена пользователей, которые нужно вывести в отчет в алфавитном
>порядке.
ну и используй:
print "$_ = $hash1{$_}" for(sort {$hash1{$a} cmp $hash1{$b}} keys %hash1);
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Сортировка значений хэша" 
Сообщение от XPurple emailИскать по авторуВ закладки(??) on 03-Ноя-05, 13:19  (MSK)

>print "$_ = $hash1{$_}" for(sort {$hash1{$a} cmp $hash1{$b}} keys %hash1);
Так работает, спасибо.
А как сделать тоже самое для сортировки по значениям ключей ?


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Сортировка значений хэша" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 03-Ноя-05, 16:38  (MSK)
>
>>print "$_ = $hash1{$_}" for(sort {$hash1{$a} cmp $hash1{$b}} keys %hash1);
>Так работает, спасибо.
>А как сделать тоже самое для сортировки по значениям ключей ?
Почитать чего-нить по перлу, подумать...

print "$_ = $hash1{$_}" for(sort keys %hash1);

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Сортировка значений хэша" 
Сообщение от XPurple emailИскать по авторуВ закладки(ok) on 08-Ноя-05, 12:40  (MSK)
Спасибо, все работает.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Сортировка значений хэша" 
Сообщение от XPurple emailИскать по авторуВ закладки(ok) on 15-Ноя-05, 15:08  (MSK)
>Спасибо, все работает.
как сделать, что-бы при выводе значений хэша выводился порядковый номер значения:

%hash1=("name","Tora","second name","Smith");
Tora чтобы была 1, Smith -2 и т.д.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Сортировка значений хэша" 
Сообщение от anonymous Искать по авторуВ закладки(??) on 18-Ноя-05, 11:01  (MSK)
>>Спасибо, все работает.
>как сделать, что-бы при выводе значений хэша выводился порядковый номер значения:
>
>%hash1=("name","Tora","second name","Smith");
>Tora чтобы была 1, Smith -2 и т.д.


отказаться от хеша испаользовать массив, все проблемы решаются

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру