Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <string>
- class SP{
- private:
- class wezel{
- public:
- std::vector<wezel*> krawedzie;
- std::string napis;
- };
- std::vector<wezel> wierzcholki;
- public:
- void dodaj(const char* v);
- void usun(const char*v);
- void dodajKrawedz(const char* os1, const char* os2);
- void zlacz(const char* os1, const char* os2);
- };
- void SP::dodaj(const char* v){
- wezel tmp;
- tmp.napis=v;
- wierzcholki.push_back(tmp);
- }
- void SP::usun(const char* v){
- for(int i=0; i<wierzcholki.max_size(); i++){
- if(wierzcholki[i].napis.c_str()==v){
- wierzcholki.erase(wierzcholki.begin()+i);
- }
- }
- }
- void SP::dodajKrawedz(const char *os1, const char *os2) {
- int i1, i2;
- bool czy=true;
- for(int i=0; i<wierzcholki.max_size(); i++){
- if(wierzcholki[i].napis.c_str()==os1){
- i1=i;
- }
- if(wierzcholki[i].napis.c_str()==os2){
- i2=i;
- }
- }
- for(int i=0; i<wierzcholki[i1].krawedzie.max_size(); i++){
- if(wierzcholki[i1].krawedzie[i]==&wierzcholki[i2]){
- czy=false;
- }
- }
- if(czy) wierzcholki[i1].krawedzie.push_back(&wierzcholki[i2]);
- }
- void SP::zlacz(const char *os1, const char *os2) {
- int i1, i2;
- for(int i=0; i<wierzcholki.max_size(); i++){
- if(wierzcholki[i].napis.c_str()==os1){
- i1=i;
- }
- if(wierzcholki[i].napis.c_str()==os2){
- i2=i;
- }
- }
- int size=wierzcholki[i2].krawedzie.max_size();
- for(int i=0; i<size; i++){
- wierzcholki[i1].krawedzie.push_back(wierzcholki[i2].krawedzie[i]);
- }
- wierzcholki.erase(wierzcholki.begin()+i2);
- }
- int main(){
- SP graf;
- graf.dodaj("pies");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement