Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How do you write a function that can reverse a linked-list?
How do you write a function that can reverse a linked-list?
✍: Guest
Answer1: void reverselist(void) { if(head==0) return; if(head-<next==0) return; if(head-<next==tail) { head-<next = 0; tail-<next = head; } else { node* pre = head; node* cur = head-<next; node* curnext = cur-<next; head-<next = 0; cur-<next = head; for(; curnext!=0; ) { cur-<next = pre; pre = cur; cur = curnext; curnext = curnext-<next; } curnext-<next = cur; } } Answer2: node* reverselist(node* head) { if(0==head || 0==head->next) //if head->next ==0 should return head instead of 0; return 0; { node* prev = head; node* curr = head->next; node* next = curr->next; for(; next!=0; ) { curr->next = prev; prev = curr; curr = next; next = next->next; } curr->next = prev; head->next = 0; head = curr; } return head; }
2012-01-17, 2576👍, 0💬
Popular Posts:
How To Create an Add-to-My-Yahoo Button on Your Website? - RSS FAQs - Adding Your Feeds to RSS News ...
An application needs to load a library before it starts to run, how to code? One option is to use a ...
What is synchronization and why is it important? With respect to multithreading, synchronization is ...
What Is C Language? The C programming language is a standardized programming language developed in t...
Have you ever worked with Microsoft Application Blocks, if yes then which? Application Blocks are C#...