MISIONEROS-algoritmo.docx

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