diff --git a/zadania_lista/lab_lista.cpp b/zadania_lista/lab_lista.cpp index c629d78..702e7ea 100644 --- a/zadania_lista/lab_lista.cpp +++ b/zadania_lista/lab_lista.cpp @@ -15,9 +15,14 @@ int main() { //demo_lista(); list lista{ 'a','l','f','c' }; - list::iterator it = ListSearch(lista, 'g'); + /*list::iterator it = ListSearch(lista, 'g'); if (it == lista.end()) cout << "Nie znaleziono"; - else cout << *it; + else cout << *it;*/ + + auto print_char = [](const char& n) { cout << n << ' '; }; + for_each(lista.begin(), lista.end(), print_char); cout << endl; + cout << (deleteNode(lista, 2) ? "Usunieto" : "Nie usunieto") << endl; + for_each(lista.begin(), lista.end(), print_char); cout << endl; } void demo_lista() { @@ -67,4 +72,16 @@ list::iterator ListSearch(list& lista, char znak) { } return it; +} + +bool deleteNode(list& lista, int numer) { + if (lista.size() < numer || numer < 1) return false; + list::iterator it; + + int i = 1; + + for (it = lista.begin(); i < numer; it++, i++); + + lista.erase(it); + return true; } \ No newline at end of file