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