So’zlarni alifbo tartibida saralash algoritmi
Ba’zi hollarda so’zlarni alifbo tartibida saralashga ehtiyoj paydo bo’ladi. Dasturlash tillarida mavjud saralash funksiyalari hozirgi o’zbek alifbosidagi harflar
tartibi bo’yicha saralashga imkon bermaydi.
Ammo bu muammoni juda oddiy usulda hal qilish mumkin. Bu yerda taklif qilingan saralash algoritmi juda oddiy va professional dasturchi bundan ham qulayroq va samaraliroq algoritm yaratishi mumkin.
Algoritm JavaScript misolida keltirilgan.
Birinchi navbatda, alifbodagi harflarni raqamlar bilan ifodalab chiqamiz:
letters = ["oʻ","gʻ","ʼ","sh","ch","a","b","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","y","z"]; lettersAsNumbers = ["25.","26.","29.","27.","28.","00.","01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12.","13.","14.","15.","16.","17.","18.","19.","20.","21.","22.","23.","24."];
Bunda
o’, g’, tutuq belgisi, sh va ch ro’yxatga eng avval kiritilganiga e’tibor bering. Bunga sabab shuki, keyingi qadamlarda so’zlardagi harflarni birma-bir almashtirishda, bu murakkab harflar birinchi galda o’girilishi kerakligidir.
Oddiygina massiv elementlarini ishlatib, matnni o’giradigan funksiya yozamiz:
function replaceArray(text,a1,a2) { for(var i = 0; iBu funksiya berilgan matndagi har bir harfni son ifodasiga o'girish va keyinchalik son ifodadagi harflarni o'z ko'rinishiga qaytarish uchun kerak bo'ladi.
Endi so'zlarni son saralash funksiyasini yozamiz:
function sortWords(words) { for (var key in words){ words[key] = replaceArray(words[key], letters, lettersAsNumbers); }; words.sort(); for (var key in words){ words[key] = replaceArray(words[key], lettersAsNumbers, letters); }; return words; }E'tibor bering,
funksiyaga so'zlar massivi uzatilishi lozim va funksiya alifbo tartibida saralangan so'zlar massivini qaytaradi.Bu kabi algoritmlar bevosita so'zlar bilan ishlaydigan dasturlarda - masalan, lug'atlar tuzishda qo'l kelishi mumkin.
Algoritm kodini quyidagi
gitdan ham olishingiz mumkin.
Algoritm
So’zlarni alifbo tartibida saralash algoritmi