Topic One: single-Link table transpose without head node, algorithm time complexity O (N)
The code is as follows :
structLnode;typedefstructLnode *List;typedefstructLnode *Position;structlnode{ElementType Elem; Position next;};/*Headless node single-linked list transpose*/list reversion (list L) {Position previouspos, currentpos, Nextpos; Previouspos=nullptr; Currentpos=L; Nextpos= l->Next; while(Nextpos! =nullptr) {Currentpos->next =Previouspos; Previouspos=Currentpos; Currentpos=Nextpos; Nextpos= nextpos->Next; } Currentpos->next =Previouspos; returnCurrentpos;}
topic two : single-Link table transpose with lead node, algorithm time complexity O (N)
structLnode;typedefstructLnode *List;typedefstructLnode *Position;structlnode{ElementType Elem; Position next;};/*lead node single linked list transpose*/List reversion (list list) {list header=list; List Currentpos= header->Next; Header->next =nullptr; while(Currentpos! =nullptr) {Position tmp=Currentpos; Currentpos= currentpos->Next; TMP->next = header->Next; Header->next =tmp; } returnheader;}
Data structure and algorithm analysis 3.12-Single linked table transpose