• C ++ dasturi taqdim etilgan katta raqamlarni saralash uchun
  • { // Ikkala qatorning uzunligini hisoblang
  • { if (satr1[i]
  • { sort(arr, arr+n, raqamlarni_taqqoslash);
  • Tayyorlagan mustaqil ishi




    Download 336,4 Kb.
    bet9/10
    Sana30.11.2023
    Hajmi336,4 Kb.
    #108869
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    VVVVV

    Chiqish natijasi:
    Kirish qatori
    4 17 3 12 9
    Saralangan qator
    3 4 9 12 17
    Hozirgacha biz barcha asosiy tartiblash usullarini qisqacha muhokama qildik. Biz ushbu usullarning har birini keyingi darsliklarimizda batafsil o'rganamiz va har bir texnikani tushunish uchun turli xil misollar keltiramiz.



    10.Large numbers sort

    Algoritm g’oyasi: Katta sonlarni satr kurinishida olib uzunligi bo’yicha saralanadi,agar uzinlig teng bo’lsa taqqoslanadi.

    Izox: Vaqtning murakkabligi: O (k * n log n), bu erda k - eng uzun raqamning uzunligi. Bu erda sort () funktsiyasi O (n Log n) saralash algoritmidan foydalaniladi.

    C ++ dasturi taqdim etilgan katta raqamlarni saralash uchun

    // satr sifatida.

    #include

    using namespace std;

    // agar str1 str2 dan kichik bo'lsa, u haqiqiy qiymatni qaytaradi.

    bool raqamlarni_taqqoslash(string satr1, string satr2)

    {

    // Ikkala qatorning uzunligini hisoblang

    int n1 = satr1.length(), n2 = satr2.length();

    if (n1 < n2)

    return true;

    if (n2 < n1)

    return false;

    // Agar uzunliklar bir xil bo'lsa

    for (int i=0; i

    {

    if (satr1[i] < satr2[i])

    return true;

    if (satr1[i] > satr2[i])

    return false;

    } return false; }

    // Ko'p sonli qatorlarni saralash funktsiyasi

    // satrlar shaklida berilgan

    void kattasonlarnisaralash(string arr[], int n)

    {

    sort(arr, arr+n, raqamlarni_taqqoslash);

    }

    // Boshqaruvchi kodi

    int main()

    {

    int n;

    cout<<"nechta son kiritmoqchisiz n=:";

    cin>>n;

    string sonlar[n];

    for(int i=0;i

    {

    cout<

    cin>>sonlar[i];

    }


    Download 336,4 Kb.

    1   2   3   4   5   6   7   8   9   10




    Download 336,4 Kb.