2 Estructura de Datos
2 Estructura de Datos
2 Estructura de Datos
INGENIERIA DE SOFTWARE
ASIGNATURA:
ESTRUCTURA DE DATOS
TEMA:
ACTIVIDAD DE APRENDIZAJE DE LA UNIDAD 2
TUTOR:
BIVIAN ROBLES ACOSTA
Ejercicios Propuestos - Unidad II
1. Cuales son y para que se utilizan los Métodos definidos por Vector
- Object ElementAt(int índice): Devuelve el elemento de la posición del vector indicada por
el indice.
Ejemplo:
package vector;
import java.util.*;
v.addElement("uno");
v.addElement("dos");
v.addElement("cuatro");
v.addElement("cinco");
v.addElement("seis");
v.addElement("siete");
v.addElement("ocho");
v.addElement("nueve");
v.addElement("diez");
v.addElement("once");
v.addElement("doce");
v.insertElementAt("tres", 2);
System.out.println("dimensión "+v.capacity());
Enumeration enum=v.elements();
while(enum.hasMoreElements()){
System.out.print(enum.nextElement()+"\t");
System.out.println();
if(v.contains("tres")){
System.out.println("Encontrado tres");
v.removeElement("tres");
System.out.print(v.elementAt(i)+"\t");
System.out.println();
try {
}catch (Exception e) { }
2. Uso de Array de caracteres y cadenas de texto (String y StringBuffer). Mencione además con
que métodos puede trabajar cada una
los arrays únicamente pueden ser enviados a una función por referencia. Para ello
deberemos enviar la dirección de memoria del primer elemento del array. Por tanto, el
argumento de la función deberá ser un puntero.
Ejemplo:
#include
Al trabajar con arrays de tipos primitivos o de objetos se nos puede plantear la necesidad de
copiar arrays. La copia de arrays está permitida, pero conviene ser cauto cuando realicemos
procesos de este tipo. Recordar que un array es un objeto (aunque sea especial) y por tanto
la variable que lo nombra en realidad contiene un puntero al objeto, no el objeto en sí
mismo.
Al hacer una operación del tipo array1 = array2, el puntero de array1 apunta al mismo objeto
que array2 mientras que el objeto al que apuntaba array1 queda inaccesible. A partir de ese
momento existe identidad entre los arrays y la comparación usando == nos devolverá true.
A través de código, vamos a plantearnos distintas situaciones y a comentar cuáles son los
resultados.
Ejemplo:
import java.util.Arrays;
TestCompararArrays {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
Esta clase contiene varios métodos para manipular arrays (por ejemplo, para ordenar un
array o buscar un valor u objeto dentro de él) y para comparar arrays.
Dado que pertenece al package util, para poder usar esta clase habremos de incluir en
cabecera import java.util.Arrays; o bien import java.util.*;. Al igual que los arrays son unos
objetos que hemos dicho son especiales (al carecer de métodos), podemos decir que la
clase Arrays es una clase un tanto especial por cuanto carece de constructor. Digamos que
directamente al cargar la clase con la sentencia import correspondiente automáticamente se
crea un objeto denominado Arrays que nos permite realizar manipulaciones con uno o
varios arrays (p. ej. ordenar un array, comparar dos arrays, etc.). Dicho objeto podemos
utilizarlo directamente: no es necesario declararlo ni crearlo, eso es automático en Java, y
por eso decimos que esta clase es una clase especial. La clase Arrays tiene muchos
métodos, entre ellos varios métodos Equals (sobrecarga del método) que hacen que Equals
sea aplicable tanto a arrays de los distintos tipos primitivos como a arrays de objetos. En
concreto el método aplicable a arrays de enteros primitivos es:
Ejemplo:
// ejemplo de arreglo
//...
for-each es otra técnica para recorrer arrays de manera sencilla, al igual que el
bucle for, while, do-while; introducido en Java.
Ejemplo:
Con for:
int nums[]={1,2,3,4,5};
int sum=0;
Con for-each:
int nums[]={1,2,3,4,5};
int sum=0;
R//
package estructura_of_datos; public class CuadroMagico {
int NIVEL=5; int arreglo[][]; public CuadroMagico () { arreglo = new int
[NIVEL][NIVEL]; generar();
}
public void generar () { int mitad = NIVEL/2; int ubicacionC = mitad; int
ubicacionF = 0; arreglo[ubicacionF] [ubicacionC] =1;
int ubicacionFActual = ubicacionF; int ubicacionCActual = ubicacionC;
for (int i=2; i<=(Math.pow(arreglo.length,2)); i++){
ubicacionF--; ubicacionC--; if (ubicacionF<0) {
ubicacionF = arreglo.length-1;
}
if(ubicacionC<0) { ubicacionC = arreglo.length-1; } if (arreglo[ubicacionF]
[ubicacionC]==0) {
arreglo[ubicacionF][ubicacionC]=i;
}else {
ubicacionF = ubicacionFActual+1; ubicacionC = ubicacionCActual;
arreglo[ubicacionF][ubicacionC]=i;
}
ubicacionFActual = ubicacionF; ubicacionCActual = ubicacionC;
} mostrarArreglo();
} public void mostrarArreglo () { for(int i=0;i<arreglo.length;i++) { for(int
j=0; j<arreglo.length;j++) {
System.out.print(arreglo[i][j]+"\t"); }
System.out.println();
}
} public static void main (String... args) {
new CuadroMagico();
}
}
package estructura_of_datos;
import java.util.*; public class nTemperaturas {
public static void main(String[] args) { // TODO Auto-generated method stub
int suma=0; int TemperaturaMayor=0;
int TemperaturaMenor = 0;
int media = 0;
System.out.println("Introduce N temperaturas para almacenarlas en
un array");
int n= new Scanner (System. in ).nextInt(); int [] Temperaturas=new int [n];
for (int i=0;i<n;i++) {
System.out.println("Introduce la temperatuira para la
pocision "+i);
Temperaturas [i]=new Scanner (System.in).nextInt();
suma=suma+Temperaturas[i];
media=suma/n;
} for (int i=0;i<n;i++) {
if (Temperaturas[i]>media) {
TemperaturaMayor=Temperaturas[i];
}else {
if (Temperaturas[i]==media) {
TemperaturaMenor=Temperaturas[i];
System.out.println(" numero de temperatura iguales a la
media son: "+i+ ": "+ TemperaturaMenor);
}
}
}
System.out.println(" La media es: "+suma/n);
}
}
3. Leer una matriz de 3 por 3 elementos y calcular la suma de cada una de sus filas y
columnas, dejando dichos resultados en dos vectores, uno de la suma de las filas y
otro de las columnas.
R//
}
for(int filas:sumf) {
System.out.println("La suma de los valores de la fila "+(" ")+" es:
"+filas);
}
//SUMA COLUMNAS
for (int i = 0; i < Matriz[0].length; i++) {
for(int columnas:sumc) {
System.out.println("La suma de los valores de la columna "+
(" ")+" es: "+columnas);
}}
}
R//
package estructura_of_datos;
import java.util.*;
int i,j;
double aux;
System.out.println();
for (i=0;i<15;i++) {
for (j=i+1;j<15;j++) {
if (notas[i]<notas[j]) {
aux=notas[i];
notas[i]=notas[j];
notas[j]=aux;
for(i=0;i<15;i++) {
System.out.print(notas[i]+", ");
5. Se tiene un vector que va a contener como elementos, donde cada elemento es un registro:
Código del Vendedor, Nombre, Salario básico, Valor Venta, salario neto de 10 empleados.
R//
package estructura_of_datos;
import java.util.*;
int totalcomisionA = 0;
int totalcomisionB=0;
int totalcomisionC=0;
int salarioB=1000;
Valor Venta
comision[i]=(20*ValorV[i])/100;
SalarioN[i]+=comision[i];
totalcomisionA =+ comision[i];
comision[i]=(25*ValorV[i])/100; //CALCULAR LA
COMISION
SalarioN[i]+=comision[i];
totalcomisionB =+ comision[i];
if (ValorV[i]>450) {
comision[i]=(30*ValorV[i])/100; //CALCULAR LA
COMISION
SalarioN[i]+=comision[i];
totalcomisionC =+ comision[i];
}
Empleados []empleado=new Empleados [10];
empleado[0]=new Empleados("empleado1",salarioB,ValorV[0],SalarioN[0],1);
empleado[2]=new Empleados("empleado3",salarioB,ValorV[2],SalarioN[2],3);
empleado[3]=new Empleados("empleado4",salarioB,ValorV[3],SalarioN[3],4);
empleado[4]=new Empleados("empleado5",salarioB,ValorV[4],SalarioN[4],5);
empleado[5]=new Empleados("empleado6",salarioB,ValorV[5],SalarioN[5],6);
empleado[6]=new Empleados("empleado7",salarioB,ValorV[6],SalarioN[6],7);
empleado[7]=new Empleados("empleado8",salarioB,ValorV[7],SalarioN[7],8);
empleado[8]=new Empleados("empleado9",salarioB,ValorV[8],SalarioN[8],9);
empleado[9]=new Empleados("empleado10",salarioB,ValorV[9],SalarioN[9],10);
System.out.println(e.devuelveDatos());
}
for (int i=0;i<10;i++) { // COMISIONES
empledo "+i);
System.out.println("////////////////////////");
"+totalcomisionB);
"+totalcomisionC);
class Empleados {
String Nombre;
int Salariobasico;
double ValorVenta;
int Salarioneto;
salarioN,int id ){
Nombre=nom;
Salariobasico=Salariob;
ValorVenta=ValorV;
Salarioneto=salarioN;
this.id=id;
}
public String devuelveDatos() {
return "El codigo del empleado es: "+id +"-- El nombre es:
int Total=Salarioneto+Salariobasico;
return " El total pagado en Neto es: "+ Total + " Al empleado "+
Nombre;
6. Realizar un programa que solicite al usuario desde un vector crear una lista de
números por teclado luego imprimir el vector de forma ordenada con el Método de
Burbuja (Descendentemente).
Import java.util.Scanner;
Mat[i][j]=sc.nextInt();
}System.out.println(“ “);
System.out.println(“ “);
System.out.print(mat[i][j]+” “);
System.out.println(“ “);
Suma=0;
Suma+=mat[i][j];
}System.out.println(“ “);
Suma=0;
For(int j=0; j<4; j++){
Suma+=mat[j][i];
10. Llenar una matriz de 3x3 e Imprima su traspuesta (la traspuesta se consigue
intercambiando filas por columnas y viceversa).
R//
#include <stdio.h>
#include <stdlib.h>