Divide Et Impera C++. Sortarea prin interclasare.

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 3

  • @watchmeplayit6730
    @watchmeplayit6730 2 ปีที่แล้ว +3

    Microfonul se aude foarte incet!

  • @tehnicianul76
    @tehnicianul76  4 ปีที่แล้ว

    Algoritmul este:
    #include
    using namespace std;
    int s1[]={1,7,10,15,35}, s2[]={5,8,9,13,23,44};
    int n1= 5 ;
    int n2=6;
    int s[11];
    void interclasare(int s[], int p, int u, int poz)
    {int i,j,k; //inițializez variabilele de contor
    i=0;j=0;k=p;
    while(i

  • @tehnicianul76
    @tehnicianul76  4 ปีที่แล้ว

    Iar daca dorim sa aplicam interclasarea pentru un singur sir, algoritmul este:
    #include
    using namespace std;
    // Se combină doi vectori in s []
    // Primul vector este[l..m]
    // Al doilea vector est s[m+1..r]
    void creare(int s[], int p, int poz, int u)
    { int i, j, k;
    int n1 = poz - p + 1;
    int n2 = u - poz;
    /* Creem doi vectori */
    int s1[n1], s2[n2];
    /*Plasăm elemente in cei doi vectori s1 si R */
    for (i = 0; i < n1; i++)
    s1[i] = s[p + i];
    for (j = 0; j < n2; j++)
    s2[j] = s[poz + 1+ j];
    /* Refacem vectorul s[p..u]*/
    i = 0; // inițialăzăm contorul primei jumatati a lui s, adica vectorul s1
    j = 0; // inițialăzăm contorul celei de-a doua jumatate a lui s, adica vectorul s2
    k = p; // inițialăzăm contorul k al vectorului rezultant din combinarea lui s1 si s2
    while (i < n1 && j < n2)
    {if (s1[i]