Fala galera,
to torrando a cabeça aqui e não ta saindo nada..
seguinte,
tenho uma função que recebe 2 indices e troca os mesmo de lugares
por exemplo eu tenho uma lista assim:
1 2 3 4 5
e quero trocar os elemento de nº 1 com 3
ficaria assim
3 2 1 4 5
o problema é que na hora da troca eu estou removendo os 2 valores! a função prototipo é:int trocar (**no lista, int indice1, int indice2)
eu sei que tenho que fazer os seguintes testes:
if( indice1<indice2){
if(indice1==1)//primeiro elemento da lista
{
trocar elementos
}
else{
trocar elementos
}
}
if( indice2><indice1){
if(indice2==1)//primeiro elemento da lista
{
trocar elementos
}
else{
trocar elementos
}
eu sei que no primeiro caso eu posso criar um aux =*lista;
e fazer o que o elemento de indice1 = indice2->prox;
e vice e versa.. mas acho que to colocando algo errado no meio..
Desculpe se foi confuso, mas desde já agradeço