使用lis理解减少行数

时间:2018-01-22 17:39:09

标签: python-3.6

我写了下面的代码来排序列表的元素及其工作正常(不使用sort函数)。 我只是想知道我是否可以使用列表理解来减少行数。 如果可以的话,请提供建议。

#include <iostream>
#include <vector>
#include <list>

template < template < class, class > class V, class T, class A >
void erase_value(V<T, A>& v, const T& t)
{
    typename V<T,A>::iterator s = v.begin();
    while (s != v.end()) {
        if ((*s) == t) { v.erase(s); break; }
        ++s;
    }
}

template < typename T >
void print_all(T begin, T end)
{
    for (; begin != end; ++begin) {
        std::cout << *begin << " ";
    }
    std::cout << std::endl;
}

template < typename T >
void print_all(const T& array)
{
    for (auto i : array) {
        std::cout << i << " ";
    }
    std::cout << std::endl;
}

int main(int argc, char** argv)
{

    std::vector<std::string> strings {"123","321","ABC"};
    std::list<int> ints {123,321,5332};
    print_all(strings);
    print_all(ints);
    erase_value(strings, std::string("123"));
    erase_value(ints, 123);
    print_all(strings.begin(), strings.end());
    print_all(ints.begin(), ints.end());
    return 0;
}

0 个答案:

没有答案