Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.77 KB | None | 0 0
  1. Sociálne siete teraz letia. Ľudia vám zadarmo vypĺňajú databázu osobnými údajmi a vy ich len ďalej predávate inzerentom. Chcete, aby vaša sociálna sieť bola lepšia ako ostatné, tak ste sa rozhodli, že na fanúšikovskej stránke si budú návštevníci môcť naživo prehliadať aktuálny zoznam fanúšikov. Napr. keď si tak prehliadate zoznam fanúšikov na vašej obľúbenej stránke, očami ste na 4774. mieste v abecednom poradí, a v tom sa posunie fanúšik o jedno miesto vyššie, pretože niekto v abecede skôr stránku odlajkoval. Návštevník má teda presný prehľad o aktuálnom stave fanúšikov podľa abecedy.
  2.  
  3. Túto funkcionalitu budete realizovať nasledovnými funkciami:
  4.  
  5.             void init();
  6.             void like(char *page, char *user);
  7.             void unlike(char *page, char *user);
  8.             char *getuser(char *page, int k);
  9.          
  10. Vo vašom riešení implementujte tieto funkcie. Testovač najskôr zavolá funkciu init(), v ktorej si môžete pripraviť vaše dátové štruktúry v globálnych premenných (napr. inicializácia stromu). Následne bude volať funkcie like(), unlike() a getuser(), s nasledovným významom:
  11.  
  12. void like(char *page, char *user) - Používateľ s menom user lajkoval stránku s názvom page
  13.  
  14. void unlike(char *page, char *user) - Používateľ s menom user odlajkoval stránku s názvom page.
  15.  
  16. char *getuser(char *page, int k) - Zaujíma nás meno k-teho používateľa v abecednom poradí, ktorý lajkuje stránku page. Ak je týchto používateľov menej ako k, tak funkcia vráti NULL.
  17.  
  18. Vďaka tejto funkcii sa vašej sociálnej sieti začalo veľmi dariť, a prichádzajú na ňu desiatky tisíc požiadaviek za sekundu. Implementujte vyššie uvedenú funkcionalitu čo možno najefektívnejšie.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement