Simplicity and efficiency.
It looks simple, but it is not efficient way, copying the whole vector is costly operation (copy to temp and them copy it back). Instead a pointer based approach will be more efficient like this. (Note the changes are marked)

Qt Code:
  1. #include <QDebug>
  2. #include <QVector>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6. const int inSize = 10;
  7. const int outSize = 10;
  8. QVector<QVector<int> *> vecToSort; //<<<<
  9.  
  10. // Create Vectors
  11. for(int i = 0; i < outSize; i++)
  12. {
  13. QVector<int> *vect = new QVector<int>(); //<<<<
  14. for(int i = 0; i < inSize; i++)
  15. vect->append(qrand()); //<<<<
  16. vecToSort.append(vect);
  17. }
  18.  
  19. qDebug() << "Before:";
  20. for(int i = 0; i < vecToSort.size(); i++)
  21. qDebug() << *vecToSort.at(i); //<<<<
  22.  
  23. // Sort Vectors
  24. for(int i = 0; i < vecToSort.size(); i++)
  25. for(int j = i; j < vecToSort.size(); j++)
  26. if(vecToSort.at(i)->at(0) < vecToSort.at(j)->at(0)) //<<<<
  27. {
  28. QVector<int> *tmp = vecToSort.at(i); //<<<<
  29. vecToSort[i] = vecToSort.at(j);
  30. vecToSort[j] = tmp;
  31. }
  32.  
  33. qDebug() << "After:";
  34. for(int i = 0; i < vecToSort.size(); i++)
  35. qDebug() << *vecToSort.at(i); //<<<<
  36.  
  37. return 0;
  38. }
To copy to clipboard, switch view to plain text mode