fork download
  1. //#pragma once
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5. template <class T>
  6.  
  7. class SuperList
  8. {
  9. private:
  10. T* polje;
  11. int cnt, capacity;
  12. public:
  13. SuperList(int x){
  14. cnt = 0;
  15. polje = (T*)malloc(sizeof(T) * x);
  16. }
  17. ~SuperList(void){}
  18. // Dodavanje u polje
  19. void add(T item){
  20. if(cnt >= capacity){
  21. capacity += 5;
  22. polje = (T*)realloc(polje, sizeof(T) * (cnt+2));
  23. }
  24. polje[cnt] = item;
  25. cnt++;
  26. }
  27. // Brisanje iz polja
  28. void remove(T item){
  29. for(int i=0; i<cnt; i++){
  30. if(polje[i] == item){
  31. for(int j=i; j<cnt-1; j++){
  32. polje[j] = polje[j+1];
  33. }
  34. cnt--;
  35. }
  36. }
  37. polje = (T*)realloc(polje, sizeof(T) * cnt);
  38. }
  39. // Clear All /////////////////////////////////////
  40. void clear(){ delete[] this->polje; }
  41. // Return Counter ////////////////////////////////
  42. int count(){ return cnt; }
  43. // Find and return element
  44. T& operator[](const int index){
  45. return polje[index];
  46. }
  47. // Return pointer
  48. T* find(T item){
  49. for(int i=0; i<cnt; i++){
  50. if(polje[i] == item){
  51. return &polje[i];
  52. }
  53. }
  54. }
  55. // Print Everything
  56. void print(){
  57. for(int i=0; i<cnt; i++){
  58. cout << polje[i] << endl;
  59. }
  60. }
  61. // Print from x to y
  62. void print(int start, int count){
  63. for(int i=start; i<start+count; i++){
  64. cout << polje[i] << endl;
  65. }
  66. }
  67. // Merge Lists
  68. SuperList<T>& operator+=(SuperList<T>& other){}
  69. };
  70.  
  71. ////////////////////////////////////////////////////////////////
  72. #include <iostream>
  73. #include <string>
  74. //#include "SuperList.h"
  75. using namespace std;
  76.  
  77.  
  78. int main(){
  79. SuperList<string> lista(5);
  80.  
  81. for(int i=0; i<3; i++){
  82. lista.add("Awesome");
  83. }
  84. /*for(int i=0; i<19; i+=3){
  85. lista.remove(i);
  86. }
  87. cout << lista.count() << endl;
  88. lista.print();
  89. cout << endl << lista[4] << endl;
  90. */
  91. return 0;
  92. }
  93.  
Runtime error #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Standard output is empty