Upload
santiago-andres
View
216
Download
0
Embed Size (px)
Citation preview
7/24/2019 MISIONEROS-algoritmo.docx
1/6
1. ANEXO DE CDIGO FUENTE
Clase nodo
importjava.util.ArrayList;
importjava.util.List;importjava.util.Stack;
publicclassNodoArbol{
privateED elemento;
privateList hijos;
publicNodoArbolED elemento!{
this.elemento" elemento; hijos" newArrayList!; #
publicED $etElemento!
{ returnelemento; #
publicvoidadd%ijoNodoArbol hijo!
{ hijos.addhijo!; #
publicList $et%ijos!{
returnhijos; #
publicbooleanesNodo%oja!{
returnhijos.si&e! > '; #
publicbooleanbus(ueda)ro*undidadED c!
{ Stack +ilaAu,iliar " newStack!; +ilaAu,iliar.+ushthis!; while+ilaAu,iliar.si&e! -" '!
{ NodoArbol cabe&a " +ilaAu,iliar.+o+!; System.out.+rintlncabe&a.$etElemento!!;
ifcabe&a.$etElemento!.toStrin$!.e(ualsc.toStrin$!!! returntrue;
1
7/24/2019 MISIONEROS-algoritmo.docx
2/6
else forinti " cabe&a.$et%ijos!.si&e! /; i >" ';
i! +ilaAu,iliar.+ushcabe&a.$et%ijos!.$eti!!; # returnfalse; #
#
0lase estructura de datos
publicclassED{intnumcan1i&(;intnummis1i&(;intnumcan1barco;intnummis1barco;intnumcan1der;intnummis1der;
publicED!{
super!;#
publicEDintnumcan1i&(2 intnummis1i&(2 intnumcan1barco2 intnummis1barco2intnumcan1der2 intnummis1der!{
super!;this.numcan1i&(" numcan1i&(;this.nummis1i&(" nummis1i&(;this.numcan1barco" numcan1barco;this.nummis1barco" nummis1barco;this.numcan1der" numcan1der;
this.nummis1der" nummis1der;#
publicint$etNumcan1i&(!{
returnnumcan1i&(;#
publicvoidsetNumcan1i&(intnumcan1i&(!{
this.numcan1i&(" numcan1i&(;#
publicint$etNummis1i&(!{returnnummis1i&(;
#
publicvoidsetNummis1i&(intnummis1i&(!{
2
7/24/2019 MISIONEROS-algoritmo.docx
3/6
this.nummis1i&(" nummis1i&(;#
34verridepublicStrin$ toStrin$!{
return556 numcan1i&(6 5256 nummis1i&(65256 numcan1barco6 5256nummis1barco
65256 numcan1der6 5256 nummis1der6 5!5;#
#
0lase +rinci+al
publicclassArboles7us(uedas{
publicstaticvoidmainStrin$89 ar$s!{
:: crear nodos NodoArbol rai& " newNodoArbolnewED 22'2'2'2'!!;
:: +rimer nivel NodoArbol nivel/hijo' " newNodoArbolnewED 22/2/2'2'!!;NodoArbol nivel/hijo/ " newNodoArbolnewED 2/2'22'2'!!;NodoArbol nivel/hijo " newNodoArbolnewED 22'2/2'2'!!;
NodoArbol nivel/hijo " newNodoArbolnewED 22/2'2'2'!!;NodoArbol nivel/hijo= " newNodoArbolnewED /222'2'2'!!;
rai&.add%ijonivel/hijo'!;
rai&.add%ijonivel/hijo/!; rai&.add%ijonivel/hijo!; rai&.add%ijonivel/hijo!; rai&.add%ijonivel/hijo=!;
:: se$undo nivel NodoArbol nivelhijo' " newNodoArbolnewED 22'2'2/2/!!;NodoArbol nivelhijo/ " newNodoArbolnewED 2/2'2'2'2!!;NodoArbol nivelhijo= " newNodoArbolnewED /22'2'22'!!;
nivel/hijo'.add%ijonivelhijo'!;
nivel/hijo/.add%ijonivelhijo/!; nivel/hijo=.add%ijonivelhijo=!;
:: tercer nivel NodoArbol nivelhijo' " newNodoArbolnewED 22/2'2'2/!!;NodoArbol nivelhijo/ " newNodoArbolnewED 22'2/2/2'!!;NodoArbol nivelhijo= " newNodoArbolnewED /22/2'2/2'!!;
nivelhijo'.add%ijonivelhijo'!;
nivelhijo'.add%ijonivelhijo/!;
3
7/24/2019 MISIONEROS-algoritmo.docx
4/6
nivelhijo=.add%ijonivelhijo=!;
:: cuarto nivel
NodoArbol nivel=hijo/ " newNodoArbolnewED /22/2/2/2'!!;NodoArbol nivel=hijo " newNodoArbolnewED 2/2'22/2'!!;NodoArbol nivel=hijo " newNodoArbolnewED '222'2/2'!!;NodoArbol nivel=hijo= " newNodoArbolnewED /22/2/2/2'!!;
nivelhijo/.add%ijonivel=hijo/!;
nivelhijo/.add%ijonivel=hijo!; nivelhijo/.add%ijonivel=hijo!; nivelhijo=.add%ijonivel=hijo=!;
:: (uinto nivel
NodoArbol nivelhijo/ " newNodoArbolnewED '22'2'22'!!;
nivel=hijo.add%ijonivelhijo/!;
::se,to nivel
NodoArbol nivel?hijo' " newNodoArbolnewED '22/2'22'!!;NodoArbol nivel?hijo/ " newNodoArbolnewED '222'2/2'!!;
nivelhijo/.add%ijonivel?hijo'!;
nivelhijo/.add%ijonivel?hijo/!;
::se+timo nivel
NodoArbol nivel@hijo' " newNodoArbolnewED /22'2'22'!!;
NodoArbol nivel@hijo/ " newNodoArbolnewED /22/2/2/2'!!;
nivel?hijo'.add%ijonivel@hijo'!; nivel?hijo/.add%ijonivel@hijo/!;
::octavo nivel
NodoArbol nivelhijo' " newNodoArbol newED/2/2'222'!!;
NodoArbol nivelhijo/ " newNodoArbol newED/22'2/22'!!;
nivel@hijo'.add%ijonivelhijo'!;
nivel@hijo'.add%ijonivelhijo/!;
::noveno nivel
NodoArbol nivelBhijo' " newNodoArbol newED/22'2'22'!!;NodoArbol nivelBhijo/ " newNodoArbol newED/2/2'2'22!!;
nivelhijo'.add%ijonivelBhijo'!;
nivelhijo'.add%ijonivelBhijo/!;
::decimo nivel
4
7/24/2019 MISIONEROS-algoritmo.docx
5/6
NodoArbol nivel/'hijo' " newNodoArbol newED/2/2/2/2/2/!!;
NodoArbol nivel/'hijo/ " newNodoArbol newED/2/22'2'2!!;NodoArbol nivel/'hijo " newNodoArbol newED/2/2'222'!!;
nivelBhijo/.add%ijonivel/'hijo'!;
nivelBhijo/.add%ijonivel/'hijo/!; nivelBhijo/.add%ijonivel/'hijo!;
::onceavo nivel
NodoArbol nivel//hijo' " newNodoArbol newED22'2'2/2/!!;NodoArbol nivel//hijo/ " newNodoArbol newED/22'2'22'!!;
nivel/'hijo'.add%ijonivel//hijo'!;
nivel/'hijo'.add%ijonivel//hijo/!;
::doceavo nivel
NodoArbol nivel/hijo' " newNodoArbol newED2'2'22/2/!!;NodoArbol nivel/hijo/ " newNodoArbol newED'222'2/2/!!;
nivel//hijo'.add%ijonivel/hijo'!;
nivel//hijo'.add%ijonivel/hijo/!;
::treceavo nivel
NodoArbol nivel/hijo' " newNodoArbol newED2'2/2'22'!!;
nivel/hijo'.add%ijonivel/hijo'!;
::catorceavo nivel
NodoArbol nivel/=hijo' " newNodoArbol newED2'2/2'22'!!; nivel/hijo'.add%ijonivel/=hijo'!;
::decimo(uinto nivel
NodoArbol nivel/hijo' " newNodoArbol newED'2'2'2'22!!;
nivel/=hijo'.add%ijonivel/hijo'!;
System.out.+rintlnrai&.bus(ueda)ro*undidadnewED
'2'2'2'22!!!;
#
#
CAPTURA DE PANTALLA
5
7/24/2019 MISIONEROS-algoritmo.docx
6/6
6