Project

General

Profile

Código e Implementación » History » Version 14

Version 13 (Cesar Jimenez, 09/17/2023 03:12 AM) → Version 14/41 (Cesar Jimenez, 09/24/2023 04:04 AM)

h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤWikipedia

!logoPRO.png!

----

+*Grupo A:*+
> Integrantes: Cristian Sánchez, Jean Pier Duran, Sergio Rabanal, Valentina Álvarez, César Jiménez
> Nombre del Producto: Machine EV3 G
> Modulo: Proyecto I
> Docente: Humberto Urrutia
> Fecha de Inicio: 2023-08-14
> Fecha de Termino: 2023-11-30

----

*ㅤㅤㅤㅤㅤㅤㅤÍndice:*
* [[Introducción]]
* [[Descripción y Objetivos]]
* [[Organización y Planificación]]
* [[Análisis y Diseño]]
* [[Código e Implementación]]
* [[Bibliografía]]

h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤInsertar Código del Proyecto

<pre><code class="ruby">
public class Main{ VerificadorParentesis {
public static void main(String[] args){ boolean verificarParentesis(String expresion) {
System.out.println("te sigo queriendo como el primer dia");
ListaDobleEnlace<Integer> numeros = new ListaDobleEnlace<>();
numeros.insertar_al_inicio(10);
numeros.insertar_al_inicio(6);
numeros.insertar_al_inicio(3);
numeros.insertar_al_inicio(2);
numeros.insertar_al_inicio(-1);
numeros.imprimir();

System.out.println("\n Tamaño de la Lista: "+numeros.size());

numeros.insertar_al_final(15);
numeros.insertar_al_final(20);
numeros.imprimir();

System.out.println("\nTamaño de la Lista: "+numeros.size());

System.out.println("\nContiene el numero: "+numeros.contiene(6));

System.out.println("\nElemento en la posicion 6 es: "+numeros.obtener_elemento(6));

numeros.eliminar_en_posicion(5);
numeros.imprimir();



}
}

class Nodo<E>{
E info;
Nodo<E> sgte;
Nodo<E> prev;
public Nodo(Nodo<E> prev,E info,Nodo<E> sgte){
this.prev = prev;
this.info = info;
this.sgte = sgte;
}
}

class ListaDobleEnlace<E>{
Nodo<E> cabecera;
int size contador = 0;
public ListaDobleEnlace(){
this.cabecera = new Nodo<>(null,null,null);
cabecera.sgte = cabecera;
cabecera.prev = cabecera;
}

public void insertar_al_inicio(E valor){
Nodo<E> antiguoSiguiente = cabecera.sgte;
Nodo<E> nuevoNodo = new Nodo<>(cabecera,valor,antiguoSiguiente);
cabecera.sgte = antiguoSiguiente.prev = nuevoNodo;

size ++;
}

public void insertar_al_final(E valor){
Nodo<E> antiguoFinal = cabecera.prev;
Nodo<E> nuevoNodo = new Nodo<>(antiguoFinal,valor,cabecera);
cabecera.prev = antiguoFinal.sgte = nuevoNodo;

size++;
}

public void insertar_en_posicion(E valor,int k){
Nodo<E> temp = cabecera.sgte;
int cont = 1;
while(temp != cabecera){


for (char caracter : expresion.toCharArray()) {

if(cont if (caracter == k){ &#39;(&#39;) {
break;
}
contador++;
cont++;
temp = temp.sgte;
}
Nodo<E> nuevoNodo = new Nodo<>(temp.prev,valor,temp);
temp.prev.sgte = temp.prev = nuevoNodo;
size++;
}

public void eliminar_al_inicio(){
Nodo<E> temp = cabecera.sgte.sgte;
cabecera.sgte = temp;
temp.prev = cabecera;
size--;
}

public void eliminar_al_final(){
Nodo<E> temp = cabecera.prev.prev;
cabecera.prev = temp;
temp.sgte = cabecera;


size--;
}

public void eliminar_en_posicion(int k){
Nodo<E> temp = cabecera.sgte;
int cont = 1;
while(temp != cabecera){
else if (cont (caracter == k){ &#39;)&#39;) {
break;
}
temp = temp.sgte;
cont++;
}
temp.prev.sgte = temp.sgte;
temp.sgte.prev = temp.prev;

size--;
}

public E obtener_elemento(int k){
Nodo<E> temp = cabecera.sgte;
int cont = 1;
while(temp != cabecera){
contador--;
if (cont == k){ (contador &lt; 0) {
return false; // Hay un paréntesis de cierre sin uno de apertura correspondiente

return temp.info;
}
temp = temp.sgte;
cont++;
}
return null;
}

public int buscar(E valor){
Nodo<E> temp = cabecera.sgte;
int cont = 1;
while(temp != cabecera){
if (temp.info.equals(valor)){


return cont;
}
temp = temp.sgte;
cont++;
}
return -1;
contador == 0; // Si el contador es 0 al final, los paréntesis están equilibrados
}



public static void vaciar(){ main(String[] args) {
cabecera.prev String expresion1 = cabecera.sgte = cabecera;
}

public boolean contiene(E valor){
&quot;(3 + 2) * (5 - 2)&quot;;
Nodo<E> temp String expresion2 = cabecera.sgte; &quot;{[5 * (7 - 2)] + 1}&quot;;
while(temp != cabecera){
if (valor == temp.info){
return true;
}
temp
String expresion3 = temp.sgte;
}
return false;
}

public void imprimir(){
System.out.println("");
Nodo<E> temp = cabecera.sgte;
// problema encontrado --> se estaba tomando el valor de null de la cabecera como referencia entonces se metio en un bucle interminable
while(temp != cabecera){
System.out.print(temp.info
&quot;[(2 + 4) * {7 - 3]&quot;;

System.out.println(&quot;Expresión 1 es válida:
" <-> ");
temp = temp.sgte;
+ verificarParentesis(expresion1));
}

System.out.print("null");
}

public int size(){
System.out.println(&quot;Expresión 2 es válida: &quot; + verificarParentesis(expresion2));
return size; System.out.println(&quot;Expresión 3 es válida: &quot; + verificarParentesis(expresion3));
}
}

</code></pre>