#include<iostream>
using namespace std;
class Node{
public:
int data;
Node *next;
};
Node* create(){
Node *head = 0;
Node *tail = 0;
int i;
for(i = 0; i < 10; i++){
Node *tmp = new Node();
tmp->data = i;
tmp->next = 0;
if(i == 0){
head = tmp;
tail = tmp;
}else{
tail->next = tmp;
tail = tmp;
}
}
return head;
}
void print(Node *head){
Node *tmp = head;
while(tmp != 0){
cout<<tmp->data<<endl;
tmp = tmp->next;
}
}
Node* reverse(Node *head){
Node *tmp = head;
Node *prev = 0;
Node *tmpNext = tmp->next;
while(tmp != 0){
tmp->next = prev;
if(tmpNext == 0) break;
prev = tmp;
tmp = tmpNext;
tmpNext = tmp->next;
}
head = tmp;
return head;
}
int main(int argc, char *argv[]){
Node *head = create();
print(head);
cout<<"====================="<<endl;
Node *newHead = reverse(head);
print(newHead);
return 0;
}
reverse a list
最新推荐文章于 2022-11-28 19:56:03 发布