#include using namespace std; class Index; class Pers { friend class Index; public: int marca; char nume[50]; Index* bdPers; Pers(char* c,int m){ marca = m; strcpy(nume,c); bdPers->Insert(this); } ~Pers(){ bdPers->Remove(this); } }; class Index { friend class Pers; Pers* lista[1000]; int n; bool CautBin(int marca,int& poz){ int inc=0,m; int sf=n-1; while(inc<=sf) { m = (inc + sf) /2; if(lista[m]->marca == marca) { poz = m; return true; } if(lista[m]->marca < marca) inc = m+1; else sf = sf-1; } poz = inc; return false; } public: void Insert(Pers* pp){ int i,poz; if(!CautBin(pp->marca,poz)) { for(i=n;i>poz;i--) lista[i] = lista[i-1]; lista[poz] = pp; n++; } } void Remove(Pers*){ int poz=0; if(CautBin(pp->marca,poz)) { for(;poz> k; }