#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;          //zbiór poleceń C#
const int N = 5;              // wprowadzamy ile liczb chcemy sortować
int main()
{
    srand( time( NULL ) );          // powoduje, że sortowane liczby się nie powtarzają
    int tablica[ N ];               // tworzymy tablicę 
    int zmiana, kres_z_lewej, kres_z_prawej;
    kres_z_lewej = 0;               // ustala że kres z lewej strony jest równy 0
    kres_z_prawej = N;              // ustala że kres z prawej strony jest równy liczbie tych sortowanych
    for( int i = 0; i < N; i++ )
        tablica[ i ] = rand() % 100;                    // pętla powoduje, że wylosowane liczby są z przedziału <0;100>
    for( int i = 0; i < N; i++ )
        cout << tablica [ i ] << ", ";                  // powoduje wyświetlenie licz wylosowanych 
    cout << endl << endl;
    do
    {
        zmiana = -1;
        for( int i = kres_z_lewej; i < kres_z_prawej - 1; i++ )
        {
            if( tablica[ i ] > tablica[ i + 1 ] )
            {
                swap( tablica[ i ], tablica[ i + 1] );           //warunek powoduje zamianę miejscami
                zmiana = i;
            }
            cout << zmiana << endl;
        }
        if( zmiana == -1 )
            break;
        kres_z_prawej = zmiana + 1;
        zmiana = 0;
        for( int i = kres_z_prawej; i >= kres_z_lewej; i-- )
            if( tablica[ i ] > tablica[ i + 1] )
        {
            swap( tablica[ i ], tablica[ i + 1] );                 //warunek powoduje zamianę miejscami
            zmiana = i;
        }
        kres_z_lewej = zmiana + 1;
    }while( zmiana >= 0);
    cout << "Posortowana tablica: " << endl;                     // wyświetla posortowana tablice 
    for( int i = 0; i < N; i++ )
        cout << tablica[ i ] << ", ";
  return 0;
}
Witam. Mam wytłumaczyć program z bąbelkowania dwukierunkowego. Mam taki programik i dobrze działa. Nie wszystko wiem jak działa dlatego proszę o pomoc. Napiszę w programie w komentarzach co wiem i byłbym wdzięczny jakby ktoś dopisał resztę jak działa. nie wiem głównie jak działają te pętle.



 
	 
					 
			
			 
			
			 
  
			
			
