|
To'g'ridan-to'g'ri saralash usullari orqali saralash tamoyillarining asosiy
xususiyatlarini tushuntirish qulay.
3Bog'liq amaliy topshiriq4 Muddatdan oldin, 16-asirde An\'liya, ммм, 1 mavzu , U.Gulzar jasfiz, Mundareja Kirish I. Bob. Nazariy qism-fayllar.org, amaliy topshiriq 6, 5464-Article Text-10520-1-10-20230326 (5), 5464-Article Text-10520-1-10-20230326 (2), topshiriq 10, topshiriq 7, Балтабаев Мухаммадин, ALGORITM TIKARLARI OMK, 1. Kompyuterning asosiy qurilmalari nimalardan iboрat 2. To'g'ridan-to'g'ri saralash usullari orqali saralash tamoyillarining asosiy
xususiyatlarini tushuntirish qulay.
3. Murakkablashtirilgan usullarda uncha ko'p amallarni bajarish talab
qilinmasada, ushbu amallarning o'zlari ham ancha murakkabdir. Garchi
yetarlicha katta n larda ulardan foydalanish tavsiya etilmasada, kichik n larda
mazkur usullar tezroq ishlaydi. Shu joyni o'zida qat'iy usullarni ishlash
tamoyillariga ko'ra 3 ta toifaga bo'lish mumkin:
1. To'g'ridan-to'g'ri qo'shish usuli (Insertion sort);
2. To'g'ridan-to'g'ri tanlash usuli (Selection sort);
3. To'g'ridan-to'g'ri almashtirish usuli (Bubble Sort).
1.1. To'g'ridan-to'g'ri qo'shish usuli bilan saralash algoritmi Qo'shish orqali
saralash (insertion sort)- bu qo'lda o'yin kartalarini saralash uslubiga o'xshash
oddiy tartiblash algoritmi. Massiv deyarli saralangan va saralanmagan qismga
bo'linadi. Tartiblanmagan qismdan qiymatlar tanlanadi va tartiblangan qismning
to'g'ri joyiga joylashtiriladi. Algoritm: n kattalikdagi massivni o'sish tartibida
saralash uchun:
1) array [1] dan arr [n] ga massiv ustida takrorlang;
2) Joriy element (kalit) ni avvalgisiga solishtiring;
3) Agar kalit element avvalgisidan kichik bo'lsa, uni oldingi elementlar bilan
solishtiring. O'zgartirilgan element uchun joy ajratish uchun katta elementlarni
bir joyga ko'taring.
Topshiriq:
using
System;
using
System.Collections.Generic;
namespace
UzbekEnglishDictionary
{
class
Program
{
static
void
Main(
string
[] args)
{
// So'z juftlari va havolalar sonini saqlash uchun lug'at
yaratiildi
Dictionary<
string
, Tuple<
string
,
int
>> dictionary =
new
Dictionary<
string
, Tuple<
string
,
int
>>();
//Lug'atni to'ldirish (siz so'zlarni qo'lda qo'shishingiz yoki
fayldan import qilishingiz mumkin)
dictionary.Add(
"salom"
, Tuple.Create(
"hello"
, 0));
dictionary.Add(
"xayr"
, Tuple.Create(
"goodbye"
, 0));
//... qoʻshimcha soʻz juftlarini qoʻshsa ham bo'ladi
// Lug'atni alifbo tartibida ko'rsatish
DisplayDictionary(dictionary);
// Foydalanuvchining o'zaro ta'siri va ma'lumotnomalarni kuzatish
funksiyasini amalga oshirish
// ... (tarjimalarni qidirish, havolalar sonini yangilash va
hokazolar uchun kod qo'shish)
}
static
void
DisplayDictionary(Dictionary<
string
, Tuple<
string
,
int
>>
dictionary)
{
foreach
(KeyValuePair<
string
, Tuple<
string
,
int
>> entry
in
dictionary.OrderBy(x => x.Key))
{
Console.WriteLine(
$"
{entry.Key}
-
{entry.Value.Item1}
(
{entry.Value.Item2}
references)"
);
}
}
}
}
|
| |