fork download
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. struct Foo
  5. {
  6. int i;
  7. };
  8.  
  9. int main(int,char**)
  10. {
  11. srand(42);
  12. Foo src[10];
  13. for (int i = 0; i<10; i++)
  14. {
  15. src[i].i = i;
  16. }
  17.  
  18. Foo dst[10];
  19. for (int i = 0; i<10; i++)
  20. {
  21. int random_index = rand()%(10-i);
  22. dst[i] = src[random_index];
  23. src[random_index] = src[9-i];
  24. }
  25.  
  26.  
  27. for (int i = 0; i<10; i++)
  28. {
  29. std::cout << dst[i].i << std::endl;
  30. }
  31. return 0;
  32. }
Success #stdin #stdout 0.02s 2680KB
stdin
Standard input is empty
stdout
6
9
1
4
8
3
7
0
5
2