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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Cola circular estatica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cola circular estatica  (Leído 23,444 veces)
soser

Desconectado Desconectado

Mensajes: 44


...


Ver Perfil
Cola circular estatica
« en: 8 Septiembre 2010, 03:39 am »

Que tal, bueno mi duda es acerca de como implementar una cola circular con un arreglo, y pues quisiera que me explicaran la logica de como serian las funciones de insertar y borrar porque me confundo mucho y pues he buscado y solo me explican la cola circular pero con nodos, mas no con un arreglo...bueno como dije solo quiero que me expliquen logica de como seria, no el codigo.
Espero que no sea una molestia, y pues gracias


« Última modificación: 8 Septiembre 2010, 03:42 am por soser » En línea

danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: Cola circular estatica
« Respuesta #1 en: 8 Septiembre 2010, 07:15 am »

Te dejo el code y tu lo examinas orale?
Es una cola circular hecha con un array, analizala un poco, no tiene mucha ciencia
al ser un array pues se puede utilizar un int como puntero, como es esto? pues simplemente un int me indicara el indice del array donde se encuentra el fin y otro int me indicara  el frente de la cola...  :¬¬


Código
  1. class ColaCircular{
  2. int max,frente,fin;
  3. Object colaCircular[];
  4.  
  5. public void tamano(int n){
  6. max=n;
  7. colaCircular=new Object[max];
  8. frente=-1;
  9. fin=-1;
  10. }
  11.  
  12. public void anadir(Object o){
  13. if((fin==max-1 && frente==0) || (fin+1==frente)) {
  14. System.out.println("overflow");
  15. return;
  16. }
  17. if(fin==max-1 && frente!=0) {
  18. fin=0;
  19. }
  20. else {
  21. fin++;
  22. colaCircular[fin]=o;
  23. }
  24. if(frente==-1){
  25. frente++;
  26. }
  27. }
  28.  
  29. public void eliminar(){
  30. if(frente==-1){
  31. System.out.println("underflow");
  32. return;
  33. }
  34. if(frente==fin) {
  35. frente=-1;
  36. fin=-1;
  37. return;
  38. }
  39. if(frente==max){
  40. frente=0;
  41. }
  42. else {
  43. frente++;
  44. }
  45. }
  46.  
  47. public Object elemento(){
  48. if(frente==max){
  49. System.out.println( "overflow");
  50. return 0;
  51. }
  52. else{
  53. return colaCircular[frente];
  54. }
  55. }
  56.  
  57. public boolean estaVacia(){
  58. return frente==-1;
  59. }
  60.  
  61. public boolean estaLlena(){
  62. return (fin==max-1&&frente==0)||(fin+1==frente);
  63. }
  64.  
  65. public void estatus(){
  66. System.out.println("Frentre: "+frente);
  67. System.out.println("Maximo: "+max);
  68. }
  69.  
  70.  
  71. }
  72.  
  73.  

checalo... Saludos!


En línea

soser

Desconectado Desconectado

Mensajes: 44


...


Ver Perfil
Re: Cola circular estatica
« Respuesta #2 en: 8 Septiembre 2010, 08:55 am »

Gracias por la ayuda, me ha servido de mucho me aclaro muchas dudas
En línea

mariogamiz91

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Cola circular estatica
« Respuesta #3 en: 22 Marzo 2012, 23:27 pm »

ola que tal disculpa me aparece esto Error: no se ha encontrado el método principal en la clase ColaCircular, defina el método principal del siguiente modo:
   public static void main(String[] args)
ya lon puse y aun asi no me deja correr el programa ayuda pls!!
En línea

ponchado

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Cola circular estatica
« Respuesta #4 en: 13 Marzo 2017, 21:42 pm »

me lo traducen en c porfavor
En línea

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: Cola circular estatica
« Respuesta #5 en: 14 Marzo 2017, 13:56 pm »

ola que tal disculpa me aparece esto Error: no se ha encontrado el método principal en la clase ColaCircular, defina el método principal del siguiente modo:
   public static void main(String[] args)
ya lon puse y aun asi no me deja correr el programa ayuda pls!!

Eso es bastante obvio, lo que tienes en el listado es la clase. Si quieres usarla deberás de instanciarla en el programa principal o en cualquier otro lado, pero "de por si" una clase no hace cosas sola mágicamente, hay crear una instancia y trabajar luego sobre ella

En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RETO] Matriz de Cuenta Circular 7913 « 1 2 »
Programación Visual Basic
79137913 15 7,860 Último mensaje 13 Enero 2011, 15:30 pm
por 79137913
Convolución Circular
Programación C/C++
drbeat 5 7,124 Último mensaje 2 Marzo 2011, 15:57 pm
por drbeat
General Motors presentará en 2017 un Cadillac capaz de circular sin que el ...
Noticias
wolfbcn 0 1,347 Último mensaje 9 Septiembre 2014, 02:13 am
por wolfbcn
ayuda cola circular
Programación C/C++
edo908458 1 2,618 Último mensaje 31 Marzo 2016, 20:22 pm
por LaiaxanIV
poner tanto por ciento en el grafico circular
Programación Visual Basic
corlo 9 2,952 Último mensaje 3 Abril 2022, 16:21 pm
por corlo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines