when using C++ vector, time spent is 718 milliseconds, while when I use Array, time is almost 0 milliseconds.
Why so much performance difference?
int
When profiling code, make sure you are comparing similar things.
vector v(size*size);
initializes each element in the vector,
int arr[size*size];
doesn't. Try
int arr[size * size]; memset( arr, 0, size * size );
and measure again...