elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ordenacion por mezcla equilibrada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenacion por mezcla equilibrada  (Leído 10,190 veces)
danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Ordenacion por mezcla equilibrada
« en: 30 Noviembre 2009, 06:27 am »

Hola...de nuevo aki dando lata...  :rolleyes:
alguno tiene el codigo de Ordenacion de datos por mezcla equilibrada? es para una clase de estructura de datos, y no piensen que soy flojo, es solo que ya le heché varias horas y solo no me sale... y me estoy desesperando pues lo necesito  :o .. y pues ya sea que me lo pasen o que me ayuden a terminarlo, la partición inicial me sale a la perfeccion, la parte de particion-fusion es la que no me sale, aki les dejo los dos codigos:
Código
  1.  
  2. import java.io.*;
  3.  
  4. public  class Particion_Inicial{
  5.  
  6. public  Particion_Inicial(){
  7.  
  8. }
  9.  
  10. public int atoi(String x){
  11. return Integer.parseInt(x);
  12. }
  13.  
  14. public void partiendo(){
  15. boolean band;
  16. int aux,r;
  17. try{
  18. FileReader fr=new FileReader("F.txt");
  19.  
  20. File ff2=new File("F2.txt");
  21. FileWriter fwf2=new FileWriter(ff2);
  22. PrintWriter f2=new PrintWriter(bwf2);
  23.  
  24. File ff3=new File("F3.txt");
  25. FileWriter fwf3=new FileWriter(ff3);
  26. PrintWriter f3=new PrintWriter(bwf3);
  27.  
  28. r=atoi(f.readLine());
  29. f2.println(r);
  30. f2.flush();
  31.  
  32. band=true;
  33. aux=r;
  34.  
  35. String oto;
  36. while((oto=f.readLine())!=null){
  37. r=atoi(oto);
  38. if(r>=aux){
  39. aux=r;
  40. if(band==true){
  41. f2.println(r);
  42. f2.flush();
  43. }
  44. else if(band==false){
  45. f3.println(r);
  46. f3.flush();
  47. }
  48. }
  49. else {
  50. aux=r;
  51. if (band==true){
  52. f3.println(r);
  53. f3.flush();
  54. band=false;
  55. }
  56. else{
  57. f2.println(r);
  58. f2.flush();
  59. band=true;
  60. }
  61. }
  62. }
  63. f2.close();
  64. f3.close();
  65. }
  66.  
  67. catch(IOException e){
  68. System.out.println(e);
  69. e.printStackTrace();
  70. }
  71. }
  72.  
  73. public static void main(String arg[]){
  74. Particion_Inicial pi=new Particion_Inicial();
  75. pi.partiendo();
  76. }
  77. }
  78.  
  79.  

el que sigue es el del problema:
Código
  1.  
  2. import java.io.*;
  3.  
  4. public class Particion_fusion{
  5.  
  6. public Particion_fusion(){
  7. }
  8.  
  9. public int atoi(String x){
  10. return Integer.parseInt(x);
  11. }
  12. public void fusionando(){
  13. int r1=0,r2=0,aux;
  14. boolean ban1,ban2,ban3;
  15.  
  16. try{
  17. FileReader fra=new FileReader("F2.txt");
  18.  
  19. FileReader frb=new FileReader("F3.txt");
  20.  
  21. File ffc=new File("F.txt");
  22. FileWriter fwfc=new FileWriter(ffc);
  23. PrintWriter fc=new PrintWriter(bwfc);
  24.  
  25. File ffd=new File("F1.txt");
  26. FileWriter fwfd=new FileWriter(ffd);
  27. PrintWriter fd=new PrintWriter(bwfd);
  28.  
  29. ban1=true;
  30. ban2=true;
  31. ban3=true;
  32.  
  33. aux=-32768;
  34.  
  35. String otoA,otoB;
  36. int h=0;
  37. boolean ba=false,bb=false;
  38.  
  39. while((((otoA=fa.readLine())!=null)||(ban1==false))&&(((otoB=fb.readLine())!=null)||(ban2==false))){
  40. try{r1=atoi(otoA);}catch(Exception e){}
  41. try{r2=atoi(otoB);}catch(Exception e){}
  42.  
  43. if(ban1==true){
  44. ban1=false;
  45. }
  46. if(ban2==true){
  47. ban2=false;
  48. }
  49. if(r1<r2){
  50. if(r1>=aux){
  51. if(ban3==true){
  52. fc.println(r1);
  53. fc.flush();
  54. }
  55. else{
  56. fd.println(r1);
  57. fd.flush();
  58. }
  59. ban1=true;
  60. aux=r1;
  61. if(ban3==true){
  62. fc.println(r2);
  63. fc.flush();
  64. ban3=false;
  65. }
  66. else {
  67. fd.println(r2);
  68. fd.flush();
  69. ban3=true;//***
  70. }
  71. ban2=true;
  72. aux=-32768;
  73. }
  74. else if(r2>=aux){
  75. if(ban3==true){
  76. fc.println(r2);
  77. fc.flush();
  78. }
  79. else{
  80. fd.println(r2);
  81. fd.flush();
  82. }
  83. ban2=true;
  84. aux=r2;
  85. if(ban3==true){
  86. fc.println(r1);
  87. fc.flush();
  88. ban3=false;
  89. }
  90. else{
  91. fd.println(r1);
  92. fd.flush();
  93. ban3=true;
  94. }
  95. ban1=true;
  96. aux=-32768;
  97. }
  98. }
  99. }
  100. System.out.println("------------------------------------");
  101. if(ban1==false){
  102. if(ban3==true){
  103. fc.println(r1);
  104. fc.flush();
  105. while((otoA=fa.readLine())!=null){
  106. //r1=atoi(otoA);
  107. try{r1=atoi(otoA);}catch(Exception e){}
  108. fc.println(r1);
  109. fc.flush();
  110. }
  111. }
  112. else{
  113. fd.println(r1);
  114. fd.flush();
  115. while((otoA=fa.readLine())!=null){
  116. try{r1=atoi(otoA);}catch(Exception e){}
  117. //r1=atoi(otoA);
  118. fd.println(r1);
  119. fd.flush();
  120. }
  121. }
  122. }
  123. if(ban2==false){
  124. if(ban3==true){
  125. fc.println(r2);
  126. fc.flush();
  127. while((otoB=fb.readLine())!=null){
  128. try{r2=atoi(otoB);}catch(Exception e){}
  129. fc.println(r2);
  130. fc.flush();
  131. }
  132. }
  133. else{
  134. fd.println(r1);
  135. fd.flush();
  136. while((otoB=fb.readLine())!=null){
  137. try{r2=atoi(otoB);}catch(Exception e){}
  138. fd.println(r2);
  139. fd.flush();
  140. }
  141. }
  142. }
  143. fc.close();
  144. fd.close();
  145. fa.close();
  146. fb.close();
  147. }
  148. catch(Exception e){
  149. e.printStackTrace();
  150. }
  151. }
  152.  
  153. public static void main(String arg[]){
  154. Particion_fusion pf=new Particion_fusion();
  155. pf.fusionando();
  156. }
  157.  
  158. }
  159.  
  160.  

ya ven que si le eche ganas??? ... el resultado de la primera particion me sale genial... pero el de la particion-fusion... me arroja erroneamente los datos... y pues e revisado el algoritmo 10 veces y no me sale!!! ayuda porfa!!! me base en el algoritmo que se encuentra en el libro de estructura de datos del autor cairo... aki una pagina que tiene el mismo algoritmo... http://sistemas.itlp.edu.mx/tutoriales/estructuradedatos/t712.html
espero sus respuestas... hasta pronto!


En línea

ria1896

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Ordenacion por mezcla equilibrada
« Respuesta #1 en: 14 Marzo 2019, 20:36 pm »

Acaso lo pudiste resolver? Tengo el mismo problema.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda lista de mezcla de nuemros
Programación C/C++
Brenda Alexia 3 2,111 Último mensaje 30 Noviembre 2014, 02:37 am
por rir3760
Mezcla y master
Foro Libre
Porrestrunger 1 1,802 Último mensaje 9 Enero 2016, 16:17 pm
por El_Andaluz
MEZCLA de tema musical
Multimedia
Zorronde 0 2,889 Último mensaje 6 Octubre 2020, 22:21 pm
por Zorronde
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines