Per incrementare e decrementare i puntatori puoi scrivere
first++;
last--;
A questo punto
1) imposta un ciclo che termina quando first diventa > di last
2) al suo interno
....a) scambi gli elementi puntati da first e last
....b) incrementi first e decrementi last