Esempio n. 1
0
void showMenu()
{
 int choose=0;
 do
 {
  printf("\n");
  printf("1. add element at ends of list\n");
  printf("2. add element at start of list\n");
  printf("3. add element at middle of list\n");
  printf("4. remove element from starts of list\n");
  printf("5. remove element from middle of list\n");
  printf("6. remove element from ends of list\n");
  printf("7. create list\n");
  printf("8. remove list\n");
  printf("9. exit\n");
  scanf("%i", &choose);
  switch (choose)
  {
   case 1: addLastElement();break;
   case 2: addFirstElement();break;
   case 3: addMiddleElement();break;
   case 4: removeFirstElement();break;
   case 5: removeMiddleElement();break;
   case 6: removeLastElement();break;
   case 7: createList();break;
   case 8: removeList();
  }
 }
 while(choose!=9);
}
Esempio n. 2
0
int removeThisElement(LIST l, unsigned int numeroDeElemento) {
	unsigned int i=0;
	unsigned int estado=0;
	nodo* tempNodo=l->firstNode;
	nodo* eraseNodo;


	estado=isListEmpty(l);		//chequeo si la lista esta o no vacia
	if(estado){

		if(numeroDeElemento=0){				//me esta pidiendo el primero
			return (removeFirstElement(l));

		} else if( numeroDeElemento<=((l->nodeCount)-1)){		//algun otro

			if(numeroDeElemento==((l->nodeCount)-1)){		//es el ultimo
				return (removeLastElement(l));

			}else {
				while (i<(numeroDeElemento-2)){
					tempNodo=tempNodo->next;

					++i;
				}		//tempNodo me apunta al anterior al que quiero eliminar

				eraseNodo=tempNodo->next;
				tempNodo->next=eraseNodo->next;
				--(l->nodeCount);
				free(eraseNodo->elemento);
				free(eraseNodo);

				return 0;

			}




		} else{return ERROR;}	//se pidio mas elementos de lo que se tiene



	} else {return ERROR;}		//la lista estaba vacia!, ojo programador!


}
Esempio n. 3
0
int main(){
    liste* l = creerListe();

    int a = 1;

    addElementFirst(&l, &a, sizeof(int));
    a++;
    addElementFirst(&l, &a, sizeof(int));
    a++;
    //addElementLast(l, &a, sizeof(int));

    removeLastElement(l);
    visuListe(l, (void(*)(void *))visuElement);

    freeListe(&l);

    return 0;
}