タイトルの通り、vectorの要素をシャッフルしたいのですが毎回同じになってしまい困っています。

どなたか間違いのご指摘お願いできないでしょうかm(_ _)m

-----動作環境-----

g++ --version

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-  dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/De
veloper/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

OS info

ProductName:    Mac OS X
ProductVersion: 10.12.3
BuildVersion:   16D32

コンパイル方法

g++ test.cpp

test.cppの中身

#include <iostream>
#include <ctime> // time
#include <cstdlib> // rand
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    vector<int> v;
    for(int i=1; i<=5; ++i) v.push_back(i);

    cout << "vector before shuffling : ";

    vector<int>::const_iterator iter;
    for(iter=v.begin(); iter!=v.end(); ++iter) cout << *iter << ' ';

    cout << endl << endl;

    // shuffle vector
    srand(time(0));
    random_shuffle(v.begin(), v.end());

    cout << "vector after shuffling : ";
    for(iter=v.begin(); iter!=v.end(); ++iter) cout << *iter << ' ';

    return 0;
}