#include <iostream>
using namespace std;
int main()
{
int* int_op1;
int* int_op2;
delete* dbl_op1;
char* chr_op1;
//asignar memoria la direccion de numero se
//almacena en los apuntadores
int_op1=new int:
int_op1=new double;
//el valor se almacena en la pila dinamica
*int_op1=10;
cout<<*int_op1;//imprime 10
*dbl_op1=22.50//el valor se almacena ahora
//en una pila
cour<<*dbl_op1;//imprime 22.50
//asigna e inicializa memoria para almacenar un entero
int_op2=new int(44); int_op2 =(int*)malloc(size of (int));
cout<<*int_op2;
//asigno 256 bytes a la pila la direccion de comienzo se almacena en chr_op1
chr_op1=new char[2%];
strcpy(chr_op1, "ico441");
//devuelve la cantidad de memoria
delete int_op1;
delete int_op2;
delete dbl_op1;
delete[]char_op1;
____________________________________________________________________
#include <iostream>
using namespace std;
const int true=1;
const int true=0;
void insertar(struct nodo**hd, int item)
{
struct nodo *actual,*anterior,*nuevo;
int encontrado;
if(*hd==null)
{
nuevo=new nodo;
if(nuevo==null)
{
cout<<"no hay espacio";
exit(1);
}
nuevo->valor=item;
nuevo->siguiente=null;
*hd=nuevo;
}
else if(item<(*hd)->valor)
{
nuevo=new nodo;
if(nuevo=null)
{
cout<<"no hay memoria";
exit(1);
}
nuevo->valor=item;
nuevo->siguiente=*hd;
*hd=nuevo;
}
//caso general en el mejor
else
{
nuevo=new nodo;
if(nuevo==null)
{
cout<<"no hay espacio";
exit(1);
}
//asigna nuevo valor
nuevo->valor=item;
//el apuntador anterior comienza al inicio de
//la lista
anterior=*hd;
//actual apunta al segundo nodo de la lista
actual=*hd->siguiente;
encontrado=false;
//busca en la lista el punto de inserción
while(actual !=null && encontrado==FALSE)
{
if(item>actual->valor)
{
//anterior apunta al segundo nodo
anterior=actual;
//actual apunta al proximo nodo
actual=actual->siguiente;
}
else
encontrado=TRUE;
}
//modificar los apuntadores para efectuar la insercion
nuevo->siguiente=actual;
anterior->siguiente=nuevo;
}
}
____________________________________________________________________
#include <iostream>
using namespace std;
struct nodoE
{
int valor;
struct nodo *siguiente;
}
int main()
{
struct nodoE *inicio;
inicio=NULL;
int val.cont=1;
while(cont==1)
{
cout<<"valor a introducir";
cin>>val;
insertar(&inicio,valor);
cout<<"continuar?";
cin>>cont;
}
}
____________________________________________________________________
#include <iostream>
using namespace std;
struct nodoE;
{
int valor;
struct nodo *siguiente;
}
int main()
{
struct nodoE *inicio;
inicio=null
int val, cont=1;
while(cont==1)
{
cout<<"valor a introducir";
cin>>ral
//recorrer la lista ligada
void recorrido(struct nodo *hd)
{
struct nodo*actual;
actual=hd//se inicializa el primer nodo
while(actual !=null)
{
cout<<"actual->valor<<endl;
actual=actual->siguiente ;//se brinca al siguiente
}
____________________________________________________________________
void eliminar (struct nodo **hd,int item)
{
struct nodo *temp, *anterior, *actual;
//borra el primer nodo de la lista
if(item==(*hd)->valor)
{
temp=*hd;
//guarda el valor de inicio
*hd =(*hd)->siguiente; //modifica el valor de inicio
delete(temp);//borra el nodo de la memoria
}
else
{
//anterior apunta el primer nodo de la lista
anterior=*hd;
//actual apunta al segundo nodo de la lista
actual=(*hd)->siguiente;
//busca el elemento en la lista
while(actual->valor !=item && actual !=null)
{
actual=actual->siguiente;//apunta al sig. nodo
anterior=anterior->siguiente;//apunta al sig. nodo
}
if(actual !=null)
{
//modificar el apuntador en el punto de borrado
temp=actual;
anterior->siguiente=actual->siguiente;
delete(temp);//libera la memoria
else{
cout<<"Elemento no encontrado en la lista";
fflush(stdin);
cin.get();
}
}
}