1. Voraussetzung p -----> NULL +--------+ r -----> | 1 | +--------+ | next + | +------+-+ | v +--------+ | 2 | +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 12 +--------+ r -----> | 1 | <----- q +--------+ | next + | +------+-+ | v +--------+ | 2 | +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 13 +--------+ | 1 | <----- q +--------+ | next + | +------+-+ | v +--------+ r -----> | 2 | +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 14 ( p = NULL ) +--------+ | 1 | <----- q +--------+ | next + | +------+-+ | v NULL +--------+ r -----> | 2 | +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 15 +--------+ p -----> | 1 | <----- q +--------+ | next + | +------+-+ | v NULL +--------+ r -----> | 2 | +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 11 ( r != 0) also nochmals Linie 12 die zweite +--------+ p -----> | 1 | +--------+ | next + | +------+-+ | v NULL +--------+ r -----> | 2 | <----- q +--------+ | next + | +------+-+ | v +--------+ | 3 | +--------+ | next + | +------+-+ | v NULL Linie 13 die zweite +--------+ p -----> | 1 | +--------+ | next + | +------+-+ | v NULL +--------+ | 2 | <----- q +--------+ | next + | +------+-+ | v +--------+ r -----> | 3 | +--------+ | next + | +------+-+ | v NULL Linie 14 die zweite +--------+ p -----> | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | | 2 | <----- q | +--------+ | | next + +-----------+ +--------+ +--------+ r -----> | 3 | +--------+ | next + | +------+-+ | v NULL Linie 15 die zweite +--------+ | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | p -----> | 2 | <----- q | +--------+ | | next + +-----------+ +--------+ +--------+ r -----> | 3 | +--------+ | next + | +------+-+ | v NULL Linie 11 ( r != 0) also nochmals Linie 12 die dritte +--------+ | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | p -----> | 2 | | +--------+ | | next + +-----------+ +--------+ +--------+ r -----> | 3 | <----- q +--------+ | next + | +------+-+ | v NULL Linie 13 die dritte +--------+ | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | p -----> | 2 | | +--------+ | | next + +-----------+ +--------+ +--------+ | 3 | <----- q +--------+ | next + | +------+-+ | v r ----------> NULL Linie 14 die dritte +--------+ | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | p -----> | 2 | <---------|---+ +--------+ | | | next + +-----------+ | +--------+ | | | +--------+ | | 3 | <----- q | +--------+ | | next + +---------------+ +--------+ r ----------> NULL Linie 15 die dritte +--------+ | 1 | <---------+ +--------+ | | next + | | +------+-+ | | | v | NULL | | +--------+ | | 2 | <---------|---+ +--------+ | | | next + +-----------+ | +--------+ | | | +--------+ | p -----> | 3 | <----- q | +--------+ | | next + +---------------+ +--------+ r ----------> NULL Linie 11 da ( r = 0 ) keinen weiteren durchgang Linie 17 +--------+ p -----> | 3 | +--------+ | next + + +--------+ p wird zurück gegeben. 2. Die Funktion gibt einen Zeiger auf das vor dem Aufruf der Funktion letzte Element der verketteten Liste zurück. Dieses Element ist nun das erste Element in der Liste (-> Headpointer). Die Liste liegt nun in umgekehrter Reihenfolge vor.