Posted By

petzadro on 11/12/12


Tagged

deletel endl locatel retrievel FirstL NextL PreviousL DeleteAllL


Versions (?)

Biblioteka lista_polje.h


 / Published in: C++
 

U ovoj biblioteci su definirane standardne funkcije za operacije and listom: FirstL, EndL, NextL, PreviousL, LocateL, RetrieveL, DeleteL, DeleteAllL. Te se funkcije pozivaju u datoteci main.cpp po potrebi.

  1. struct List {
  2. zivotinja value[1000];
  3. int cursor;
  4. };
  5.  
  6.  
  7. typedef List Lista;
  8. typedef int element;
  9.  
  10. element FirstL(Lista *L) {
  11. return 0;
  12. }
  13.  
  14.  
  15. element EndL(Lista *L) {
  16. return L->cursor;
  17. }
  18.  
  19. element NextL(element P, Lista *L) {
  20. return P+1;
  21. }
  22.  
  23. element PreviousL(element P, Lista *L) {
  24. return P-1;
  25. }
  26.  
  27. element LocateL(zivotinja X, Lista *L) {
  28. int i = 0;
  29. while (i < L->cursor) {
  30. if (L->value[i].sifra == X.sifra) {
  31. return i;
  32. i++;
  33. }
  34. }
  35. }
  36.  
  37. bool InsertL(zivotinja X, element P, Lista *L) {
  38.  
  39. if (L->cursor == 1000) {
  40. return false;
  41. }
  42.  
  43. for (int i = L->cursor-1; i >= P; i--) {
  44. L->value[i+1] = L->value[i];
  45. }
  46.  
  47. L->value[P] = X;
  48. L->cursor += 1;
  49. return true;
  50. }
  51.  
  52. void DeleteL(element P, Lista *L) {
  53.  
  54. for (int i = P; i < L->cursor; i++) {
  55. L->value[i] = L->value[i+1];
  56. }
  57. L->cursor -= 1;
  58. }
  59.  
  60. zivotinja RetrieveL(element P, Lista *L) {
  61. return L->value[P];
  62. }
  63.  
  64.  
  65. void DeleteAll(Lista *L){
  66. L->cursor = 0;
  67. }
  68.  
  69.  
  70. void InitL(Lista *L) {
  71. L->cursor = 0;
  72. }

Report this snippet  

You need to login to post a comment.