Menyusun jadual tanpa menggunakan fungsi jenis

Bermula

Pertama sekali kita memulakan pemboleh ubah $ max dengan nilai 1 jadual.

Kemudian kita akan membuat gelung sehingga jadual masih mengandungi elemen.

Menggunakan fungsi sambatan, kita akan mengosongkan jadual.

Pseudocode

 JIKA jadual mengandungi unsur-unsur mencari nilai maksimum menentukan kedudukan unsur yang ditemui menambah item ke bahagian atas jadual yang disusun, dalam urutan menaik menambah item ke hujung jadual yang disusun - dalam urutan menurun memadam item yang didapati dengan sambatan - berhenti syarat untuk gelung menetapkan semula kedudukan menetapkan semula max $ dengan item pertama di atas meja menurun dengan sambatan END AS 

Pengekodan

 #! / usr / bin / perl menggunakan ketat; gunakan amaran; my @tab = qw / 9 3 7 14 8 7 25 12 1 6 /; saya ($ n, $ max, @ tri, @ tri_desc); $ max = $ tab [0]; cetak "@tab \ n"; manakala (@tab) {$ _> $ max dan $ max = $ _ untuk @tab; untuk (@tab) {$ n ++; terakhir jika $ max == $ _} unshift @ tri, $ max; tolak @ tri_desc, $ max; sambatan (@ tab, $ n-1, 1); $ n = 0; $ max = $ tab [0]; } cetak "pesanan menaik: \ \ n"; cetak "urutan menurun: \ _desc \ n"; __END__ 

Keputusan

Apabila menggunakan gabungan berikut: 9 3 7 14 8 7 25 12 1 6

Pesanan naik: 1 3 6 7 7 8 9 12 14 25

Urutan menurun: 25 14 12 9 8 7 7

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama