fork(2) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template<class T>class Lista{
  6. private:
  7. T *itens;
  8. int ultimo, maxTam;
  9.  
  10. public:
  11. Lista(int maxTam);
  12. void insere(T item);
  13. T get(int i);
  14. T MisturaListas(Lista<T> l1, Lista<T> l2, Lista<T> l3);
  15.  
  16. };
  17.  
  18. template <class T> Lista<T>::Lista(int maxTam){
  19. this->maxTam = maxTam;
  20. this->itens = new T[maxTam];
  21. this->ultimo = 0;
  22. }
  23.  
  24. template <class T> void Lista<T>::insere(T item){
  25. if(ultimo == maxTam){
  26. cout<< "Lista Cheia!"<<endl;
  27. }else{
  28. this->itens[this->ultimo] = item;
  29. this->ultimo++;
  30. }
  31. }
  32.  
  33. template<class T> T Lista<T>::get(int i){
  34. return itens[i];
  35. }
  36.  
  37. //Aqui o protótipo do método.
  38. template<class T> T Lista<T>::MisturaListas(Lista<T> l1, Lista<T> l2, Lista<T> l3){
  39.  
  40. for(int i = 0; i < 5; i++){
  41. l3.insere(l1.get(i));
  42. l3.insere(l2.get(i));
  43. }
  44. }
  45.  
  46. int main()
  47. {
  48. Lista<int> lista1(5); //esta lista ja está cheia
  49. lista1.insere(0);
  50. lista1.insere(1);
  51. lista1.insere(2);
  52. lista1.insere(3);
  53. lista1.insere(4);
  54. for(int _i = 0; _i < 5; _i++){
  55. cout<<lista1.get(_i);
  56. }
  57.  
  58. cout<<endl;
  59. Lista<int> lista2(5); //esta lista já está cheia
  60. lista2.insere(5);
  61. lista2.insere(6);
  62. lista2.insere(7);
  63. lista2.insere(8);
  64. lista2.insere(9);
  65. for(int _i = 0; _i < 5; _i++){
  66. cout<<lista2.get(_i);
  67. }
  68.  
  69. Lista<int> lista3(10); //esta lista deve receber o conteudo das duas listas anteriores intercalados.
  70. lista3.MisturaListas(lista1, lista2, lista3);
  71.  
  72. cout<<endl;
  73.  
  74. for(int _i = 0; _i < 10; _i++){
  75. cout<<lista3.get(_i);
  76. }
  77. cout << endl << "Hello world!" << endl;
  78. return 0;
  79. }
  80.  
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
01234
56789
0516273849
Hello world!