Red de conocimiento informático - Material del sitio web - Inserte un nodo en la enésima posición en una única lista enlazada con n nodos. Programa en C o C++. ¿Quién sabe?

Inserte un nodo en la enésima posición en una única lista enlazada con n nodos. Programa en C o C++. ¿Quién sabe?

struct DataL //struct

{

long int DNum;

struct DataL *next;

};

// Función de inserción, los parámetros son punteros a los nodos izquierdo y derecho. Devuelve el puntero del nodo actual

struct DataL* InsertD(struct DataL *LeftD,struct DataL *RightD,long int D)

{

struct DataL *TempD

TempD= CreatD(DerechaD,D);

if (IzquierdaD!=0) IzquierdaD->siguiente =TempD;

if (TempD== 0 ) ExitExe(LeftD);

return TempD;

}

// Nueva función de nodo

struct DataL* CreatD(struct DataL *Head,long int D)

{

struct DataL *temp

temp = (struct DataL*)malloc(sizeof( struct DataL))

temp->DNum =D;

temp->siguiente =Cabeza;

retorno temporal;

}

void ExitExe(struct DataL *Head) //función de salida

{

struct DataL *temp1=Head,*temp2;

mientras ( temp1 ! =0)

{

temp2=temp1;

temp1=temp1->siguiente;

libre(temp2);

}

Eso es más o menos. Aquí tengo un ejemplo relevante. La codificación no es perfecta, pero cumple con los requisitos.