miércoles, 21 de octubre de 2015

Ejemplos de pila con arreglo y listas

En el siguiente codigo en C++ se pueden apreciar el uso de pilas utilizando arreglos y listas :
 Pila con Arreglos

Codigo con Arreglos :

#include<iostream>
#define j 10
using namespace std;
int s[j] ,top = -1;
bool full() {
    return top == j-1;
}
bool empty() {
    return top == -1;
}
void insert(int dato) {
    if (!full()) { // No podemos colocar un elemento a una pila llena.
       top++;
       s[top] = dato;
    }           
}
int extract() {
   if (!empty()) {
      int aux = s[top];
      top--;
      return aux; //Una forma mas elegante era colocar: return V[tope--];
   }
   else return -00000; //Si la pila esta vacia, retornamos un valor bandera...
}
int main() 
{

insert (29);
insert (32);
insert (56);
insert (78);
insert (23);
cout<< extract() << endl;
cout<< extract() << endl;
cout<< extract() << endl;
cout<< extract() << endl;
cout<< extract() << endl;
}
Donde esta seria su ejecucion : 


Codigo  con lista :

#include<stdio.h>
#include<conio.h>
#include<iostream>
using namespace std;                                                                

struct node{
int data;
struct node*foward;
}*top=NULL,*help;

void pile(int num)
{
help=new node;
help->data=num;
if(top==NULL)
{
top=help;
help->foward=NULL;
}else{
help->foward=top;
top=help;
}
}
void list()
{
cout<<"\ndatos dentro de la pila\n";
help=top;
while (help!=NULL)
{
cout<<help->data<<"---";
help=help->foward;

}
cout<<"NULL";
}
main()
{
pile(12);pile(13);pile(14);pile(15);
list();
getch();
}

Donde su ejecucion seria :





Mas caerca de la recursividad aplicada a otras operciones :
https://ccodigo.wordpress.com/tag/recursividad/

Recursividad aplicada a los juegos :

Buscaminas :
http://buscaminas.eu/


  1. 1. Recursividad aplicado al juego : busca minas <br />
  2. 2. Buscaminas<br />
  3. 3. Lógica del juego<br /> Primero hay que entender bien la lógica del buscaminas: la relación entre minas y nivel de advertencia de las casillas limpias - Estructuras según dificultad o tamaño de tablero:    - Cantidad de casillas totales    - Número de minas    - Número de casillas limpias    - Número de casillas de aviso 1    - Número de casillas de aviso 2    - Número de casillas de aviso 3     ...<br />
  4. 4.  - Definición del tablero:    - Matriz de 2 dimensiones que almacenará el valor de cada casilla:              * -1 si no ha sido pulsada              * 0 si está limpia              * 1, 2, etc según nivel de alerta              * 9 si tiene mina                 Módulos: - Inserción aleatoria de minas - Asignación de nivel de alerta(nivel de alerta, mapa actual): Se le llamará 1 vez por cada nivel de alerta, de mayor a menor. - Juego: redibujar mientras no se pulsa una mina<br />
  5. 5. Ejemplo <br />La recursividad , se muestra en el siguiente ejemplo <br />
Torres de Hanoi :
http://www.uterra.com/juegos/torre_hanoi.php

Ajedrez :
http://ajedrez-online.es/



"El hombre equivocado en el lugar correcto puede hacer la diferencia"
                                          -Half Life-
                     






"You have to learn the rules of the game, 
and then you have to play better than anyone else."
                                              -Albert Einstein-

No hay comentarios:

Publicar un comentario