Código
el "&" la referencia de la lista al quitarlo no hay error de sintaxis pero no funciona como debe de ser al emplear otra funcion "mostrar".
void insertarLista(Nodo *&lista,int n)
Este es el código en C++
Código
#include <iostream> using namespace std; struct Nodo{ int dato; Nodo *siguiente; }; void insertarLista(Nodo *&,int); int main(int argc, char *argv[]) { Nodo *lista = NULL; int dato; cout<<"Digite un numero: "; cin>>dato; insertarLista(lista,dato); return 0; } void insertarLista(Nodo *&lista,int n){ Nodo *nuevo_nodo = new Nodo(); nuevo_nodo->dato = n; Nodo *aux1 = lista; Nodo *aux2; while((aux1 != NULL) && (aux1->dato <n)){ aux2 = aux1; aux1 = aux1->siguiente; } if(lista == aux1){ lista = nuevo_nodo; } else{ aux2->siguiente = nuevo_nodo; } nuevo_nodo->siguiente = aux1; cout<<"\tElemento "<<n<<" insertado a la lista\n"; }
Y en C
Código
#include <stdio.h> #include <stdlib.h> typedef struct Nodo{ int dato; struct Nodo *siguiente; }Nodo; void insertarLista(Nodo *&,int); int main(int argc, char *argv[]) { Nodo *lista = NULL; int dato; insertarLista(lista,dato); return 0; } void insertarLista(Nodo *&lista,int n){ nuevo_nodo->dato = n; Nodo *aux1 = lista; Nodo *aux2; while((aux1 != NULL) && (aux1->dato <n)){ aux2 = aux1; aux1 = aux1->siguiente; } if(lista == aux1){ lista = nuevo_nodo; } else{ aux2->siguiente = nuevo_nodo; } nuevo_nodo->siguiente = aux1; }