我试图让我的输出看起来像这样:
size time1 time2
-------------------------------
10 4 8
100 48 16
1000 2937 922
10000 123011 3902
100000 22407380 830722
Run Code Online (Sandbox Code Playgroud)
我知道我需要使用setw(),setfill()和left.但是,我的尝试一直给我不正确的输出.这是我的代码的一个例子:
std::cout << "size" << std::setw(20) << "time" << std::setw(20) << "time2\n";
std::cout << std::setfill('-') << std::setw(60) << "-" << std::endl;
run = 10;
for(int i = 0; i < 5; i++) {
std::cout << run;
run *= 10;
std::cout << std::setw(20) << std::left << time1[i];
std::cout << std::setw(20) << std::left << time2[i] << …Run Code Online (Sandbox Code Playgroud) 当我尝试使函数交换2个数组时,原始数组保持不变.
function swap(x, y) {
var temp = x; x = y; y = temp;
}
u=[1, 0];
v=[0, 1];
swap(u, v);
console.log(u);
console.log(v);
Run Code Online (Sandbox Code Playgroud)
这导致u为[1,0],v为[0,1].函数调用swap后,值没有更改.
另一方面,如果我在没有函数调用的情况下执行此操作:
u=[1, 0];
v=[0, 1];
var temp = u;
u = v;
v = temp;
console.log(u);
console.log(v);
Run Code Online (Sandbox Code Playgroud)
然后它们被正确交换,u为[0,1],v为[1,0].
我认为Javascript数组是通过引用传递的,而不是通过值传递的.我在这里误解了什么吗?