Tri à bulles pour Tableau 2D en C++

Je suis en train de trier tous les 2D des éléments d'un tableau en c++ à l'aide de tri à bulles, mais je ne peux pas le comprendre.

#include <iostream>
#include <stdio.h>
using namespace std;
int main (){    

int x[4][4],i,k,j;
for(i=0;i<4;i++)
    for(j=0;j<4;j++)
        cin>>x[i][j];

cout<<"\n\n";

for(i=0;i<4;i++)
    for(j=0;j<3;j++)
        for(k=j+1;k<4;k++)
            if(x[i][j]>x[i][k])
            {
                int temp = x[i][j];
                x[i][j] = x[i][k];
                x[i][k] = temp;
            }           

for(i=0;i<4;i++)
    {
    for(j=0;j<4;j++)
        cout<<x[i][j]<<"\t";
        cout<<"\n\n";       
    }


cout<<endl;
return 0;
}

La chose est, je ne sais pas si ces éléments sont triés correctement. Je pense que je devrais juste mettre un autre pour la boucle quelque part, mais je ne sais pas où.

Aussi, est-il possible de minimiser le code ci-dessus pour utiliser seulement 2 boucles for? J'ai pensé que je pouvais mais je n'étais pas sûr de savoir exactement comment je le ferais parce que les éléments de " j " doit être inférieur à 1.

Mon principal problème ici est bien juste le tri de tous les éléments.

InformationsquelleAutor user3457718 | 2014-04-15