显示每次迭代后的排序值

时间:2016-02-18 11:05:29

标签: c++

void insertionSort(vector<Comparable> & a) {
    for(int p = 1; p < a.size(); ++p) {
        Comparable tmp = a[p];
        int j;
        for(j = p; j > 0 && tmp < a[j - 1]; --j)
            a[j] = a[j - 1];
        a[j] = tmp;
    }
}

如何逐步显示此功能?我不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

只需添加一个带有这样的循环的cout语句:

for(int k=0; k<a.size(); k++)
    cout<<a[k]<<"\n";

这应该添加到你的代码中:

void insertionSort(vector<Comparable> & a) {
    for(int p = 1; p < a.size(); ++p) {
        Comparable tmp = a[p];
        int j;
        for(j = p; j > 0 && tmp < a[j - 1]; --j)
            a[j] = a[j - 1];
        a[j] = tmp;
        for(int k=0; k<a.size(); k++)
            cout<<a[k]<<"\n";
    }
}