Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bb
- class Slownik{
- public:
- void dodaj(const char* term, const char* znaczenie){
- bool flaga = true;
- for(auto& v : list){ // nw czemu ale tutaj trza dać & O.O
- if(v.at(0) == term) { // pewnie żeby mieć możliwość wstawienia
- v.emplace_back(znaczenie);
- flaga = false;
- }
- }
- if(flaga){
- std::vector<std::string> w;
- w.emplace_back(term);
- w.emplace_back(znaczenie);
- list.emplace_back(w);
- }
- }
- std::list<std::string> szukaj(const char* term){
- std::list<std::string> result;
- for(auto v : list){
- if(v.at(0) == term){
- for(size_t i=1; i< v.size(); i++){
- result.emplace_back(v.at(i));
- }
- }
- }
- return result;
- }
- void wyswietl(){
- std::cout << "rozmiar: "<<list.size() << "\n";
- for(auto v : list){
- for(auto s : v){
- std::cout << s << " ";
- }
- std::cout << "\n";
- }
- }
- void usun(const char* term){
- std::vector<std::string> tmp;
- for(auto v : list){
- if(v.at(0) == term){
- tmp = v;
- }
- }
- list.remove(tmp);
- }
- void usun(const char* term, const char* znaczenie){
- std::vector<std::string>::iterator tmp;
- std::vector<std::string> t;
- bool flag = false;
- for(auto& v : list){ // usuwamy z wektorka więc: &
- if(v.at(0) == term){
- for(auto i = v.begin(); i< v.end(); i++){
- if(*i == znaczenie){
- flag = true;
- tmp = i;
- }
- }
- if(flag){
- v.erase(tmp);
- flag =false;
- }
- if(v.size() == 1){
- flag = true;
- t = v;
- }
- }
- }
- if(flag)
- list.remove(t);
- }
- private:
- std::list<std::vector<std::string>> list;
- // lista wektorów gdzie pierwszy element to termin a
- // następne elementy to znaczenia
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement