C++11 删除C++中的输出空间

C++11 删除C++中的输出空间,c++11,formatting,output,C++11,Formatting,Output,我是cpp语言的新手。我正在尝试解决一个关于插入排序的问题。但是,提交给在线评委时出现了演示错误。在程序中,我必须为插入排序的每个步骤在一行中显示中间序列。以下是我目前的代码: void InsertionSort(int *arr, int n) { for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key)

我是cpp语言的新手。我正在尝试解决一个关于插入排序的问题。但是,提交给在线评委时出现了演示错误。在程序中,我必须为插入排序的每个步骤在一行中显示中间序列。以下是我目前的代码:

void InsertionSort(int *arr, int n)
{

for (int i = 1; i < n; i++)
{
    int key = arr[i];
    int j = i - 1;
    while (j >= 0 && arr[j] > key)
    {

        arr[j + 1] = arr[j];
        j--;
    }

    arr[j + 1] = key;
    for (int k = 0; k < n; k++)
        cout << arr[k] << " ";
    cout << endl;
}}
输出:

1 2 3<Here is space.want to remove it> 
1 2 3<Here is space.want to remove it>

提前谢谢。

不要用std::cout代替每个元素使用cout@Fureeish,你能告诉我/解释一下怎么做吗?
for (int k = 0; k < n - 1; k++)
    cout << arr[k] << " ";
cout << arr[n - 1] << '\n';