You are on page 1of 3

Tarea INF-143

2.- Compare los resultados obtenidos en ComparacionEntreArreglos


add()
remove();
get()
set()

EjemploVector

EjemploArrayList

EjemploLinkedList

O(1)
O(n)
O(1)
O(1)

O(1)
O(n)
O(1)
O(1)

O(1)
O(n)
O(n)
O(n)
O(1)

Con el iterardo
remove()

3. En un programa adicione los siguientes mtodos. Para cada uno elija la estructura conveniente (Arreglo o
Lista) que resuelva el problema:
a)

Escriba un mtodo llamado intercambiaPares que cambia el orden de los valores de un arreglo o lista de Cadenas. Su
mtodo debe cambiar el orden de los dos primeros elementos, seguidamente, cambie el orden de los dos siguientes,
cambie el orden de los dos siguientes y as sucesivamente. Si hay un nmero impar de elementos, el elemento final no se
mueve. Por ejemplo, si el arreglo o lista tiene ["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"], su
mtodo podra cambiar el contenido a ["bbb" , "aaa", "ddd", "ccc", "fff", "eee", "ggg"].

import java.util.Iterator;
import java.util.Vector;
public class EjercicioA {
public static void main(String[] args) {
// TODO Auto-generated method stub
Vector<String> v = new Vector<String>();
v.add("aaa"); v.add("bbb");
v.add("ccc"); v.add("ddd");
v.add("eee"); v.add("fff");
v.add("ggg");
System.out.println(v.size());
String aux;
for (int i = 0; i < v.size() ; i=i+2)
{
if (i< v.size()-1)
{
aux= v.get(i);
v.set(i,v.get(i+1));
v.set(i+1,aux);
}
}
for (int j = 0; j < v.size(); j++) {
System.out.println( +v.get(j)+ );
}
}
}

Salida

b) Escriba un mtodo llamado eliminaLongitudesImpares que toma un arreglo o lista de Cadenas como parmetro
y que elimine todas las cadenas de longitud impar del arreglo o lista.
import java.util.ArrayList;
public class EjercicioB {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> a = new
ArrayList<String>();
a.add("aaa"); a.add("bbb");
a.add("ccc"); a.add("ddd");
a.add("eee"); a.add("fff");
a.add("ggg");
for (int i = 0; i < a.size(); i++) {
if ((i+1)%2==1){
a.set(i, null);
}
}
for (int j = 0; j < a.size(); j++){
if (a.get(j)== null){
a.remove(j);
}
}

Salida

for (int k = 0; k < a.size(); k++) {


System.out.println(a.get(k));
}}
}

c) Escriba un mtodo llamado duplicaCadenas que toma un arreglo o lista de Cadenas como parmetro y que
reemplace cada cadena con dos de esa cadena. Por ejemplo, si el arreglo o lista almacena los valores ["aaa",
"bbb", "ccc"], su mtodo debe generar ["aaa", "aaa", "bbb", "bbb" "ccc", "ccc"].
import java.util.LinkedList;
public class EjercicioC {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> l = new LinkedList<String>();
LinkedList<String> aux= new LinkedList<String>();
l.add("aaa"); l.add("bbb");
l.add("ccc"); int c;
for (int i = 0; i <l.size(); i++){
c=1;
while (c<=2)
{
aux.add(l.get(i));
c++;
}
}
for (int j = 0; j < aux.size() ; j++)
{
System.out.print(" "+aux.get(j)+" ");
}
}
}

Salida

d) Escriba un mtodo llamado duplicaKVeces que toma un arreglo o lista de enteros como parmetro y que sustituya cada
nmero entero de valor K con K copias de s mismo. Por ejemplo, si la lista almacena los valores [4, 1, 2, 0, 3] antes de
llamar al mtodo, debe almacenar los valores [4, 4, 4, 4, 1, 2, 2, 3, 3, 3] despus de que termine de ejecutarse el mtodo. El
cero y los nmeros negativos deben ser eliminados del arreglo o lista por este mtodo.
import java.util.LinkedList;
public class EjercicioD {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<Integer> l = new LinkedList<Integer>();
LinkedList<Integer> aux = new LinkedList<Integer>();
l.add(4);l.add(1);
l.add(2);l.add(0);
l.add(3);
for (int i = 0; i <l.size() ; i++)
{
for (int j = 1; j <=l.get(i); j++)
{
aux.add(l.get(i));
}
}
for (int k = 0; k < aux.size(); k++)
{
System.out.print(" "+aux.get(k)+" ");
}
}}

Salida

e) Escriba un mtodo llamado eliminaDuplicados que toma como parmetro un arreglo o lista ordenada de Cadenas y que
elimine los duplicados de la lista. Por ejemplo, si el arreglo o lista almacena los valores ["aaa", "aaa", "bbb",
"ccc", "ddd", "eee", "fff", "ggg", "hhh", "hhh"] antes de llamar al mtodo, debe almacenar los
valores ["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh"] despus de que termine de
ejecutarse el mtodo. Debido a que los elementos estn ordenados, todos los duplicados estarn agrupados.
import java.util.LinkedList;
public class EjercicioE {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> lista=newLinkedList<String>();
LinkedList<String> aux=new LinkedList<String>();
lista.add("aaa");lista.add("aaa");
lista.add("bbb");lista.add("ccc");
lista.add("ddd");lista.add("eee");
lista.add("fff");lista.add("ggg");
lista.add("hhh");
for (int i = 0; i < lista.size()-1; i++)
{
for (int j = i+1; j < lista.size(); j++){
if (lista.get(i)==lista.get(j)){
lista.set(j, null);
}
}
}
for (int k = 0; k < lista.size(); k++){
if (lista.get(k)!=null){
aux.add(lista.get(k)); }
}
for (int i = 0; i < aux.size(); i++){
System.out.print(" "+aux.get(i)+" ");
}
}}

salida

You might also like