Sıralama işlevini kullanmadan bir tabloyu sıralama
Başlamak
Öncelikle $ max değişkenini, tablonun 1. değeri ile başlattık.
Ardından, masa hala elemanlar içerene kadar bir döngü yapacağız.
Splice işlevini kullanarak masayı boşaltacağız.
pseudocode
EĞER tablo elemanları içerir maksimum değeri bulmak elemanın sıralanan tablonun üstüne eklemek için öğenin konumunu belirlemek, artan sırayla öğeyi sıralanan tablonun sonuna eklemek - azalan sırayla ekleme - durdurma bulunan öğeleri silmek döngü sıfırlama koşulu pozisyonu sıfırla END AS
Kodlama
#! / usr / bin / perl kullanımı sıkı, uyarıları kullanın; my @ tab = qw / 9 3 7 14 8 7 25 12 1 6 /; my ($ n, $ max, @ tri, @ tri_desc); $ max = $ sekmesi [0]; "@tab \ n" yazdır; while (@tab) {$ _> $ max ve $ max = @ _tab için; (@tab) {$ n ++ için; son eğer $ max == $ _} vites değiştirmeden @ tri, $ max; push @ tri_desc, $ max; splice (@ sekmesi, $ n-1, 1); $ N = 0; $ max = $ sekmesi [0]; } print "artan sipariş: \ \ n"; "azalan sipariş: \ _desc \ n"; __SON__
Sonuçlar
Aşağıdaki kombinasyonu kullanırken: 9 3 7 14 8 7 25 12 1 6
Artan düzen: 1 3 6 7 7 8 9 12 14 25
Azalan düzen: 25 14 12 9 8 7 7