




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Ejercicios Estructuras de Datos y algoritmos en JAVA y pseudocodigo
Tipo: Ejercicios
1 / 237
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





























































































Capítulo 0 Conceptos Básicos Ejercicios Propuestos Ejercicio 0. public class Ejercicio1 { public static void main(String[] args) { int temp; int [] a={1,2,3,4,5,6}; int i=0; int j=a.length-1; while(i<j){ temp=a[i]; a[i]=a[j]; a[j]=temp; i++; j--; } for(int r=0;r<a.length;r++){ System. out .print(a[r]+" ");} } } Ejercicio 0. public class Problema0_17 { public static void main(String[] args) { int x []= {1,2,3,4,5,6}; System. out .println( sumar (x)); } public static int sumar( int []vec){ int suma=0; for ( int i=0;i<vec.length;i++){ suma=suma+vec[i]; } return suma; } }
System. out .print("Ingresar valor2 para remplazar: "); val2=scan.next(); remplazar (vec1,val1,val2); } //Remplaza en el vector vec1 de N posiciones las ocurrencias del valor val1 por el valor val public static void remplazar(Object vec1[], Object val1, Object val2) { int en=0; for ( int i=0;i<vec1.length;i++) { if (vec1[i].equals(val1)) { vec1[i]=val2; en++; } } if (en==0) System. out .println("No se encontro tal valor"); else { System. out .println("Mostrando Vector con remplazo:"); mostrarVector (vec1); } } public static void mostrarVector(Object vec[]) { for ( int i=0;i<vec.length;i++) { System. out .print(vec[i]+" "); } } }
Ejercicio 0. import java.util.Scanner; public class Ej_0_20 { private static Scanner teclado; public static void main(String[] ar){ teclado=new Scanner(System.in); int N, val; N=teclado.nextInt(); int[] vector= new int[N]; cargar(vector); imprimir(vector); val=teclado.nextInt(); imprimir(vector,val); } static void cargar(int arreglo[]){ for(int i=0; i < arreglo.length; i++){ int aux= (int)(Math.random()*arreglo.length + 1); arreglo[i]=aux; } } static void imprimir(int arreglo[]){ for(int i=0; i < arreglo.length; i++){ System.out.print(arreglo[i]+" "); } } static void imprimir(int arreglo[], int val){ for(int i=0; i < arreglo.length; i++){ if(arreglo[i]>val)
System. out .print(a[i]+" "); } System. out .println("]"); } } Ejercicio 0. public class Problema0_22 { public static void main(String[] args) { int x []= {1,2,3,4,5,6}; int y []= new int [x.length]; //numero de rotaciones int numRotaciones=2; imprimir (x); y= rotar (x,numRotaciones); imprimir (y); } public static int [] rotar( int []vec, int m){ int aux=0; for ( int i=0;i<m;i++){ aux=vec[0]; for ( int j=0;j<vec.length-1;j++){ vec[j]=vec[j+1]; } vec[vec.length-1]=aux; } return vec; } public static void imprimir( int [] vec){ for ( int i=0;i<vec.length;i++){
System. out .print(vec[i]+" "); } System. out .println(""); } } Ejercicio 0. public void compararElementos(int arr[] ,int arr2[]){ quicksort(arr,0,tope+1); quicksort(arr2, 0,tope+1); int acum=0; for (int i=0;i<tope+1;i++){ if (arr[i]==arr2[i]){ acum++; }else{ System.out.print("No son iguales"); } if(acum==tope+1){ System.out.print("Son iguales"); }} } private void quicksort(int a[], int primero, int ultimo) { int i, j, central; double pivote; central = (primero + ultimo)/2; pivote = a[central]; i = primero; j = ultimo; do { while (a[i] < pivote) i++; while (a[j] > pivote) j--; if (i <= j) { intercambiar(a, i, j); i++; j--; } }while (i <= j); if (primero < j) quicksort(a, primero, j);// mismoprocesoconsublistaizqda if (i < ultimo) quicksort(a, i, ultimo); // mismoprocesoconsublistadrcha }
for ( int i=0;i<vec.length;i++) { System. out .print(vec[i]+" "); } } } Ejercicio 0. class nodo{ public int valor; public nodo sgte; public nodo(){} public nodo(int x,nodo y){ valor=x; sgte=y; } } public class Lista{ protected nodo primero; public Lista(){ primero=null; } public void agregar(int x,int y){ if( y==0 ){ primero=new nodo(x,primero); return; } nodo cab=primero; int i=0; while( i<y-1 && cab.sgte!=null ){ ++i; cab=cab.sgte; } if( i==y-1 ) cab.sgte=new nodo(x,cab.sgte); } public void borrar(int x) { if( primero==null ) return; if( primero.valor==x ){ primero=primero.sgte; return; } nodo r; for(r=primero; r.sgte!=null; r=r.sgte) if( r.sgte.valor==x ) break;
if( r.sgte!=null ) r.sgte=r.sgte.sgte; } public void buscar(int x){ if( primero==null ) return; else{ nodo cab; for(cab=primero; cab.sgte!=null; cab=cab.sgte){ if( cab.sgte.valor==x ) {System.out.print("El valor se encuentra en el arreglo"+"\n"); break;} if( cab.sgte.sgte==null ) System.out.print("El valor no se encuentra en el arreglo"+"\n"); }} } public void mostrar(){ while(primero!=null){ System.out.print(primero.valor+" "); primero=primero.sgte; } } } import java.util.Scanner; public class ej_0_25 { private static Scanner teclado; public static void main(String[] ar){ int n; teclado=new Scanner(System.in); n=teclado.nextInt(); Lista arreglo = new Lista(); for(int i =0 ; i<n;i++){ arreglo.agregar((int)(Math.random()*n + 1), i); } arreglo.buscar(6); arreglo.mostrar(); } }
Nodo p=primero; String Salida="Datos :\n "; while (p!=null) { Salida=Salida+ p.SacarInfo()+" "; p=p.SacarSig(); } System. out .println(Salida); } public int Repeticiones(int n){ Nodo p=primero; int i=0; while (p!=null) { if(p.SacarInfo()==n) { i++; } p=p.SacarSig(); } return i; } ArrayList
for(int i=0;i<numeros.size();i++) { s=Repeticiones(numeros.get(i)); repeticiones.add(s); } int resultado = repeticiones.get(0); for(int i=0; i<repeticiones.size(); i++) { if(repeticiones.get(i) > resultado) { resultado = repeticiones.get(i); } } int m= indicemayor(resultado); System. out .println("El Numero Con Mas Repeticiones Es: "+numeros.get(m)); } public int indicemayor(int a){ int i; for(i=0;i<repeticiones.size();i++){ if(a==repeticiones.get(i)){break;} } return i; } } Nodo public class Nodo { private int info; private Nodo cab; public Nodo(int n) {
Ejercicio 0. public class MySimpleLinkedList { protected Node first; public MySimpleLinkedList() { first = null ; } public void insert(Object o) { Node tmp = new Node(o, null ); tmp.setNext(first); first = tmp; } public Object extract() { Object out = null ; if (!isEmpty()) { out = first.getInfo(); first = first.getNext(); } return out; } //imprime en la posicion n public void print( int n) { if (!isEmpty()) { Node tmp = first; for ( int i = 0; i < n; i++) { tmp = tmp.getNext(); if (tmp == null ) return ; }
System. out .println(tmp.getInfo()); } } //imprime todo public void print() { if (!isEmpty()) { Node tmp = first; while (tmp != null ) { System. out .println(tmp.getInfo()); tmp = tmp.getNext(); } } } public boolean isEmpty() { if (first == null ) return true ; else return false ; } } public class Main_0_27 { public static void main(String args[]) { MySimpleLinkedList sll = new MySimpleLinkedList(); // 5 4 3 2 1 sll.insert( new Integer(1)); sll.insert( new Integer(2)); sll.insert( new Integer(3)); sll.insert( new Integer(4)); sll.insert( new Integer(5)); /*Demo Ejercicio 3-----------0.
cab= null ; } public boolean listaVacia() { return (cab== null )? true : false ; } public void insertar(Object x) { Nodo nuevo= new Nodo(x, null ); if (listaVacia()) { cab=nuevo; } else { //insertar al final Nodo aux=cab; while (aux.sgte!= null ) { aux=aux.sgte; } aux.sgte=nuevo; } } //Elimina una aparicion public void eliminar(Object x) { if ( cab== null ) //si esta vacio return ; if ( cab.valor.equals(x) )//si encuentra en el primer nodo { cab=cab.sgte; return ; } //Caso general Nodo r; for (r=cab;r.sgte!= null ;r=r.sgte) { if (r.sgte.valor.equals(x)) break ;
if (r.sgte!= null ) r.sgte=r.sgte.sgte; } //Elimina todas las apariciones de un elem dado public void eliminarApariciones(Object x) { Nodo r=cab; while (r!= null ) { eliminar(x); r=r.sgte; } } public void imprimir() { Nodo aux=cab; String s="Lista: "; while (aux!= null ) { s+=aux.valor+" "; aux=aux.sgte; } System. out .println(s); } public static void main(String[] args) { Scanner scan = new Scanner( System. in ); Ejercicio29 listaenlazada = new Ejercicio29(); System. out .print("Tamaño de la Lista: "); int N=scan.nextInt(); Object elem; for ( int i=0; i<N;i++) { System. out .print((i+1)+" elemento: "); elem=scan.next(); listaenlazada.insertar(elem); } listaenlazada.imprimir();