Hello, I made a simple threaded list in C, with the insert start and insert functions at the end, how do I do the removal functions?
#include <stdio.h>
#include <stdlib.h>
typedef struct no{
int num;
struct no *prox;
}No;
No* criar(){
No *novo;
novo=(No*)malloc(sizeof(No));
return novo;
}
No* inicio(No* lista,int dado){
No* novo_no;
novo_no=criar();
novo_no->num=dado;
if (lista==NULL){
lista=novo_no;
novo_no->prox=NULL;
}else{
novo_no->prox=lista;
lista=novo_no;
}
return lista;
}
No* fim (No* lista,int dado){
No* novo_no;
novo_no=criar();
novo_no->num=dado;
if (lista==NULL){
lista=novo_no;
novo_no->prox=NULL;
}else{
No *aux;
aux=lista;
while(aux->prox!=NULL){
aux=aux->prox;
}
aux->prox=novo_no;
novo_no->prox=NULL;
}
return lista;
}
void exibir (No* lista){
No *aux;
aux=lista;
while(aux!=NULL){
printf ("%d ",aux->num);
aux=aux->prox;
}
}
int main (){
No *lista=NULL;
lista=inicio(lista,15);
lista=inicio(lista,75);
lista=fim(lista,42);
exibir(lista);
return 0;
}