void inserirPorID (Lista * lst, QuadroPagina* item, int posicao)
{
   	No * no = lst->prim;
      No * novoNo = criaNo(item);
      
    if (posicao > lst->tam)
    {
        printf("Indice de lista não existente. \n");
        exit(0);
    }
    if (posicao == 0)
	 {
		 
          inserirPrimeiro(lst, item);
			 return; 
	 }
 		 
    else
    {
		 if(lst->tam == posicao)
		 {
			 inserirUltimo(lst, item);
			 return;
		 }
        
        while (posicao>0)
        {
            no = no->prox;
            posicao--;
        }
        inserirAntes(lst, no, novoNo);
        lst->tam++;
	  }
}
Beispiel #2
0
/* Programa principal */
int main(){
	Lista* minhaLista;
	minhaLista = criaLista();
	
	printf("Antes da inserção\n");
	detalharLista(minhaLista);
	inserirPrimeiro(minhaLista, 10);
	inserirPrimeiro(minhaLista, 20);
	inserirPrimeiro(minhaLista, 30);
	inserirN(minhaLista, 22, 1);
	
	printf("\nDepois da inserção\n");
	detalharLista(minhaLista);

    printf("\nRemovendo valor 20 ...\n");
    buscarRemover(minhaLista, 20);
    printf("Depois da remoção de 20\n");
	detalharLista(minhaLista);
    
    printf("\nRemovendo valor 10 ...\n"); 
    buscarRemover(minhaLista, 10);
    printf("Depois da remoção de 10\n");
    detalharLista(minhaLista);
    
    printf("\nRemovendo valor 30 ...\n");
    buscarRemover(minhaLista, 30);
    printf("Depois da remoção de 30\n");
    detalharLista(minhaLista);
    
    printf("\nRemovendo valor 22 ...\n");
    buscarRemover(minhaLista, 22);
    printf("Depois da remoção de 22\n");
    detalharLista(minhaLista);
    
	return 1;
}