Exemplo n.º 1
0
Arquivo: 03.cpp Projeto: filaPro/my
std::string DoTestFrontBack(size_t n) {
    TCounter::Reset();
    {
        constexpr int M = 10;
        TCounter data[M];
        TList<TCounter, std::allocator<TCounter>> lst;
        for (size_t i = 0; i < n; ++i) {
            lst.push_back(TCounter(data[i % M]));
        }
        if (lst.size() != n)
            return "lst.size(): wrong answer";
        if (lst.back().GetData() != data[(n + M - 1) % M].GetData())
            return "lst.back(): wrong answer";
        if (lst.front().GetData() != data[0].GetData())
            return "lst.front(): wrong answer";
        while (!lst.empty())
            lst.pop_back();
        for (size_t i = 0; i < n; ++i) {
            lst.push_front(TCounter(data[i % M]));
        }
        if (lst.size() != n)
            return "lst.size(): wrong answer";
        if (lst.front().GetData() != data[(n + M - 1) % M].GetData())
            return "lst.back(): wrong answer";
        if (lst.back().GetData() != data[0].GetData())
            return "lst.front(): wrong answer";
        while (!lst.empty())
            lst.pop_front();
    }
    TCounter::CheckTotalOperationsCount(n * 10 + 100, n + 100);
    return TCounter::GetAllErrors();
}
Exemplo n.º 2
0
int main(int argc, char *argv[])
{
    int i, x;
    TList<int> L;

    for (i = 0; i < 10; ++i)
    {
        x = i*i;
        L.push_front(x); // mit Quadratzahlen füllen
    }

    TList<int>::Iterator ListIter(L);

    cout << "*ListIter = " << *ListIter << endl;
    cout << "ListIter++;" << endl;
    ListIter++;
    cout << "*ListIter = " << *ListIter << endl;

   // 36 löschen, falls vorhanden
   while(ListIter++ != L.end())
      if (*ListIter == 36)
      {
         cout << *ListIter << " wird geloescht\n";
         L.erase(ListIter);
         cout << *ListIter
              << " an aktueller Position\n";
         break;
      }

   int target = 3;
   int count = 0;

   TList<int>::Iterator it = L.begin();
   while (it != L.end()) {
       if (count == target) {
           std::cout << "bam" << *it << std::endl;
       }
       count++;
       it++;
   }

   //for (TList<int>::Iterator iter = L.begin(); iter != L.end(); i++) {
   //    std::cout << *iter << std::endl;
   //}

   //TList<int>::Iterator it = L.begin();
   //while (it != L.end()) {
   //    std::cout << *it << std::endl;
   //    it++;
   //}
   for (TList<int>::Iterator itt = L.begin(); itt != L.end(); ++itt) {
       std::cout << *itt << " ";
   }
   

    return 0;
}