LABORATORIYA ISHI
Qozaqov Hojiakbar 614-19 guruh talabasi
Mavzu: Ko’chish tartibida saralash
Bundai usul karta o'yinida keng qullaniladi. Elementar (kartalar) haelan “tayer” a (1), ..., a (i-1) va boshlang'ich ketma-ketliklarga bog'liq. Har bir qadamda (i = 2 dan boshlanib, har bir odamda birlikka oshirib boriladi) boshlang'ich ketma-ketlikdan i-chi element ajratib olinib tayer ketma-ketishning o'ziga xos holatiga qarab qo'yiladi.
Tugridan-teri kushish orgali saralash algoritmlari bilan kuyidagich bladi:
for (int i=1; i
{
X = a[i];
x ni a[0]…a[i] // oraliqning mos joyiga qo’yamiz
}
Kerakli joyni idirish zharayonini kuyidagi tartibda olib borish mumkin buladi. 2-elementdan foydalanish kar bir elementni karab chiqamiz, yan kar bir element uzidan old turgan element bilan solishtirib ko'ring. Agar qaralayotgan element kichik b, lsa, oldinda turgan element bilan o'rin almashadi va yana idzidan oldin turgan element bilan solishtirganda, zharayon shu kabi davom etadi. Bu zharayon kuyidagi shartlarning birortasi bajarilishi kerak:
1.x elementi oldingi uning kalitidan kichik kalitli a (j) elementi chiqqanda.
2. x element Oldida Xolmagand elementi.
Tanlash orgali saralash algoritmlari
Mazkur usul kuyidagi tamoyillarga asoslanib:
• Eng kichik kalitga ega - bu tanlanadigan element.
• Bosh element a0 birinchi element bilan o'rin almashinadi.
• Keiin ushbu zharayon kolgan n-1, n-2 elementar bilan takrorlanib, keyin bitta eng “katta” - bu kolguncha davom ettirish elementidir.
Saralashning Kuyidagicha usullari bor:
• katiy (tug'ridan-teri) usullar;
• yashilangan usullar. Xatiy usullarning afzalliklarini krib chikaylik:
• Bilamizki, dasturlarning o'zlari ham hotirada zhoy egallaydi. To'g'ridanto'g'ri saralash usullarini qo'llash dasturlarini hisobga olib, tushuntirishga oson.
• To'g'ridan-teri saralash usullari orgali saralash tamoyillaring asosiy xususiyatlarini tushuntirishga imkon beradi.
• Murakkab ishlash usullarida uncha kuch amallarini bazharish talab qilinmasada, ularning amallarining o'zlari ham ancha murakkabdir. Garchi etarlicha katta n larda kengaytirilgan foydalanish tavsiyalari etilmasada, kichik n larda ushbu usullar tezroq ishlandi.
Shu joyni o'z ichiga olgan usullarni ishlash tamoyillariga 3 ta toifaga blish mumkin:
1. To'g'ridan-teri kuchish usuli (kiritish yo'li bilan);
2. To'g'ridan-teri tanlash usuli (tanlov asosida);
3. To'g'ridan-teri boshlash usuli (ehchange tomonidan).
Dastur kodi:
Faylga kerakli so’zni yozish.
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
ofstream f;
f.open("shiferlash kk bo'lgan so'z.txt",ios::out);
f << " Buyuklikdan_telbalikkacha_bir_qadam";
system("PAUSE");
return EXIT_SUCCESS;}
Fayldan boshqa bir faylga shifrlab yozish.
#include
#include
#include
#include
using namespace std;
int main()
{
string a;
ifstream f;
ofstream y;
f.open("shiferlash kk bo'lgan so'z.txt",ios::in);
y.open("shiferlangan so'z.txt",ios::out);
getline(f,a);
for(int i=0; i
{
int p=int(a[i]);
y<
}
system("PAUSE");
return EXIT_SUCCESS;
}
Shirlangan matinni deshifr matnga aylantirish
#include
#include
#include
#include
using namespace std;
int main()
{
string a;
ifstream y;
ofstream z;
y.open("shiferlangan so'z.txt",ios::in);
z.open("deshiferlangan.txt",ios::out);
getline(y,a);
for(int i=0; i
{
int p=int(a[i]);
z<
system("PAUSE");
return EXIT_SUCCESS;
}
Do'stlaringiz bilan baham: |