Posted By

mzivicnj on 11/12/12


Tagged

deletel endl locatel retrievel FirstL NextL PreviousL DeleteAllL funkcijelista


Versions (?)

Biblioteka lista_polje.h


 / Published in: C++
 

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

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

Report this snippet  

You need to login to post a comment.