亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl數組排序學習筆記

2020-06-04 20:32:54
字體:
來源:轉載
供稿:網友

本文我們學習如何用Perl對字符串或者數字數組進行排序。

Perl有個內置函數叫做sort毫無疑問的可以排序一個數組。 其最簡單的形式是傳遞一個數組,它會返回排序后的元素組成的數組。@sorted = sort @original。

基于ASCII碼排序
代碼如下:
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
 
use Data::Dumper qw(Dumper);
 
my @words = qw(foo bar zorg moo);
 
say Dumper /@words;
 
my @sorted_words = sort @words;
 
say Dumper /@sorted_words;

上邊的例子將會打印
代碼如下:
$VAR1 = [
        'foo',
        'bar',
        'zorg',
        'moo'
      ];
 
$VAR1 = [
        'bar',
        'foo',
        'moo',
        'zorg'
      ];

第一個輸出顯示了排序前的數組,第二個是排序后的。

這是最簡單的情形,但是可能未必是你想要的。 比如,如果一些單詞以大寫字母開頭怎么辦?
代碼如下:
my @words = qw(foo bar Zorg moo);
@sorted_names里的結果將是:

$VAR1 = [
        'Zorg',
        'bar',
        'foo',
        'moo'
      ];

你會發現,以大寫字母開頭的單詞排在了第一位。 這是因為sort默認根據ASCII碼表排序,所有的大寫字母都排在小寫字母前邊。

比較函數

Perl的sort的工作方式是這樣的,它遍歷原始數組的每兩個元素;每次把左邊的值放入變量$a,把右邊的值放入變量$b。 然后調用比較函數。如果$a的內容應該在左邊的話,“比較函數”會返回1;如果$b應該在左邊的話,返回-1,兩者一樣的話,返回0。

通常你看不到比較函數,sort會根據ASCII碼表對值進行比較,不過如果你想的話,你可以顯式的寫出來:
代碼如下:
sort { $a cmp $b } @words;

這段代碼會跟沒有使用塊的sort @words達到同樣的效果。

這里你可以看到,默認perl使用cmp作為比較函數。這是因為正是cmp可以做這里邊我們需要的工作。 它比較兩邊的字符串的值,如果左邊參數“小于”右邊參數,就返回1;如果左邊參數“大于”右邊參數,就返回-1;如果相等,就返回0。

按字母順序排列
如果你想忽略字符串的大小寫來排序——即通常所謂的字母序,你可以像下一個例子這么做:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美巨乳在线观看| 亚洲国产精品美女| 亚洲日韩欧美视频一区| 在线亚洲午夜片av大片| 亚洲第一天堂av| 韩国精品美女www爽爽爽视频| 精品人伦一区二区三区蜜桃免费| 欧美日本在线视频中文字字幕| 国内精品伊人久久| 精品国产91乱高清在线观看| 国产精品无av码在线观看| 97国产精品人人爽人人做| 国内外成人免费激情在线视频网站| 国产z一区二区三区| 国产精品视频自在线| 欧美老少做受xxxx高潮| 亚洲精品小视频在线观看| 97久久国产精品| 日韩电视剧在线观看免费网站| 91国产视频在线播放| 日韩精品视频观看| 亚洲一区二区三区成人在线视频精品| 精品在线小视频| 欧美黄色片视频| 午夜免费久久久久| 欧美激情国产高清| 色婷婷av一区二区三区在线观看| 欧美孕妇孕交黑巨大网站| 亚洲精品影视在线观看| 国产一区二区三区在线播放免费观看| 精品国产区一区二区三区在线观看| 岛国av一区二区三区| 国产www精品| 国产精品久久久久久中文字| 久久精品精品电影网| 91精品视频播放| 91在线色戒在线| 97在线看福利| 69视频在线免费观看| 在线观看久久av| 日韩国产高清污视频在线观看| 日本一区二三区好的精华液| 国产不卡视频在线| 97视频网站入口| 国产精品高潮呻吟久久av黑人| 欧美中文在线字幕| 成人精品一区二区三区| 欧美日韩美女视频| 国产精品嫩草影院一区二区| 久久成人综合视频| 亚洲欧美国产精品专区久久| 日韩有码在线观看| 亚洲成色777777在线观看影院| 精品视频在线观看日韩| 欧美极品美女视频网站在线观看免费| 亚洲最新av在线网站| 亚洲黄页视频免费观看| 国产精品狠色婷| 国产精品一二三视频| 97精品久久久中文字幕免费| 日韩av在线导航| 久久成年人免费电影| 日韩电影在线观看免费| 亚洲天堂2020| 久热精品在线视频| xxxxx成人.com| 国产精品精品视频一区二区三区| 91av在线看| 亚洲高清免费观看高清完整版| 亚洲欧美日韩中文在线制服| 日韩av片电影专区| 国产91露脸中文字幕在线| 亚洲欧洲一区二区三区在线观看| 国产一区二区视频在线观看| 亚洲最新视频在线| 国产精品视频xxxx| 91sao在线观看国产| 96国产粉嫩美女| 亚洲第一福利网| 精品亚洲国产成av人片传媒| 国产成人激情视频| 亚洲国产欧美一区| 欧美日韩激情网| 国产精品99久久久久久白浆小说| 欧美黄色免费网站| 精品久久香蕉国产线看观看亚洲| zzijzzij亚洲日本成熟少妇| 亚洲精品欧美一区二区三区| 国产精品高潮呻吟久久av无限| 亚洲网站在线看| 久久精品电影网| 中文字幕不卡在线视频极品| 亚洲免费视频一区二区| 欧美疯狂xxxx大交乱88av| 久久久久久网址| 久久综合久久八八| 岛国av一区二区三区| 国产日韩在线免费| 欧美午夜精品久久久久久久| 亚洲欧美综合精品久久成人| 久久精品视频va| 色av吧综合网| 亚洲新中文字幕| www.日韩视频| 亚洲999一在线观看www| 欧美电影免费观看高清| 亚洲欧美日韩精品| 日韩在线视频线视频免费网站| 欧美猛交ⅹxxx乱大交视频| 日韩精品免费在线视频| 色综合久久久久久中文网| 国内精品小视频| 伊人青青综合网站| 亚洲裸体xxxx| 欧美小视频在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国内精品中文字幕| 91国产精品视频在线| 国产成人久久久精品一区| 97久久精品国产| 国产91在线播放精品91| 亚洲毛片在线观看| 欧美重口另类videos人妖| 欧美日韩一区二区在线| 久久深夜福利免费观看| 久久久噜噜噜久久久| 精品动漫一区二区| 欧美极品少妇xxxxⅹ免费视频| 亚洲人成网站免费播放| 日韩在线免费观看视频| 视频一区视频二区国产精品| 国产精品久在线观看| 久久久精品一区二区三区| 国产激情久久久| 成人精品在线视频| 国产精品自拍网| 欧美极品美女视频网站在线观看免费| 国产精品中文久久久久久久| 欧美精品午夜视频| 欧美在线影院在线视频| 日韩中文在线中文网三级| 欧美激情乱人伦| 日韩精品有码在线观看| 精品久久久久久久久久久| 欧美性猛交xxxx免费看| 亚洲欧美在线第一页| 成人免费福利视频| 日韩在线激情视频| 在线播放日韩精品| 中文字幕日韩免费视频| 欧美专区福利在线| 亚洲国产福利在线| 国产精品女主播| 亚洲自拍高清视频网站| 久久九九热免费视频| 久久精彩免费视频| 国产女人精品视频| 亚洲第一精品夜夜躁人人爽| 日韩av日韩在线观看| 亚洲a级在线播放观看| 欧美另类极品videosbest最新版本| 91大神福利视频在线| 精品日韩视频在线观看| 国产精品第一第二|