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

Önceki Makale Sonraki Makale

En Ipuçları