Problemes de llistes (disculpeu l'omissio d'accents) 1. Feu una accio que donada una llista de strings L i dos strings a i b, substitueixi tota aparicio d'a per una de b. 2. Feu una funcio que donada una llista d'ints digui si es estrictament creixent. 3. Feu dues versions d'una accio que revessi una llista (es a dir, que per exemple transformi [a,b,c,d] en [d,c,b,a]). Una ha de ser recursiva i l'altra iterativa. 4. Feu una accio que donada una llista de strings L i dos strings ini i fi (que ens prometen que son diferents), busqui totes les aparicions d'ini seguides d'alguna de fi i elimini de la llista tot el que hi ha entre elles. P.ex. amb la llista [a,b,c,b,a,d,f,c,b,b,a,f,d,c,a,b], ini = "c" i fi = "d", la llista s'ha de transformar en [a,b,c,d,f,c,d,c,a,b]. 5. Feu una funcio que digui si una llista es capicua sense usar la funcio .size(). Cada element s'ha de consultar un cop com a molt. Recordeu que no es poden comparar iteradors amb < (nomes amb == i !=). 6. Considereu el seguent codi per ordenar un vector de doubles pel metode de seleccio: for (int i = 0; i < v.size()-1; ++i) { int min = i; for (int j = i+1; j < v.size(); ++j) if (v[j] < v[min]) min = j; swap(v[i],v[min]); } Recordeu que el metode de seleccio tarda temps proporcional al quadrat de v.size(). Traduim aquest codi a llistes de la seguent manera, usant l'operacio l.get(index) que apareix a les transparencies i una operacio swap(llista,index1,index2) que no hem donat a teoria pero que fa el que podeu imaginar: for (int i = 0; i < l.size()-1; ++i) { int min = i; for (int j = i+1; j < l.size(); ++j) if (l.get(j) < l.get(min)) min = j; swap(l,i,min); } 6.1 Penseu com farieu l'operació swap 6.2 Que hi ha de dolent en aquesta implementacio? 6.3 Doneu un codi alternatiu sense aquest problema. 7. Fem una operacio list concatena(list l1, list l2) que retorna una llista amb la concatenacio de l1 i l2. La fem servir per fer resoldre aquest problema: double x; list l; while (cin >> x) { list l2; l2.insert(l2.begin(),x); l = concatena(l2,l); } 7.1 Digueu totes les fonts d'ineficiencia d'aquesta solucio 7.2 Doneu una solucio bona per al mateix problema