1 #ifndef INC_RANDOM_H 2 #define INC_RANDOM_H 3 4 #include <vector> 5 6 float ranf(); 7 float ranf(float m); 8 int rani(int m); 9 float gaussian(); 10 11 template<class T> randomSort(std::vector<T> vec)12std::vector<T> randomSort(std::vector<T> vec) 13 { 14 std::vector<T> randomized; 15 16 for (int i = vec.size(); i != 0; i--) 17 { 18 int j = 0; 19 for ( typename std::vector<T>::iterator it = vec.begin(); 20 it != vec.end(); 21 j++, it++) 22 if (rani(i-j) == 0) 23 { 24 randomized.push_back(*it); 25 vec.erase(it); 26 break; 27 } 28 } 29 30 return randomized; 31 } 32 33 #endif /* INC_RANDOM_H */ 34