#include <iostream>
#include<vector>
#include<initializer_list>
#include<algorithm>

template <typename Tip>
class Skup {

    std::vector<Tip> elementi;

    public:
    Skup() {}
    Skup (std::initializer_list<Tip> lista);
    int Velicina() const {return elementi.size();}
    void Dodaj(const Tip &element);
    void Izbrisi(const Tip &element);
    bool ImaLiGa(const Tip &element) const;
    void Ispisi() const;
    
};

template <typename Tip> 
Skup<Tip>::Skup(std::initializer_list<Tip> lista){

    for(auto e :lista){
        Dodaj(e);
    }
    
}

template<typename Tip>
bool Skup<Tip>::ImaLiGa(const Tip &element) const{

    return std::binary_search(elementi.begin(), elementi.end(), element);
}

template<typename Tip>
void Skup<Tip>::Dodaj(const Tip &element){
    auto it = elementi.begin();
    for(; it != elementi.end(); it++){
        if(*it == element) break;
    }
    if(it == elementi.end() || *it != element) elementi.insert(it, element);
}

template<typename Tip>
void Skup<Tip>::Izbrisi(const Tip &element){

    auto it = std::find (elementi.begin(), elementi.end(), element());

    if(it != elementi.end()) elementi.erase(it);
    
}

template <typename Tip> 
void Skup<Tip>::Ispisi() const { 
for(auto x : elementi) std::cout << x << " "; 
} 

















int main() {
    std::cout << "Hello world!" << std::endl;
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: