#include<iostream>
#include<vector>
using namespace std;
struct List{
List(int num,List *next){
element = num;
nxt = next;
}
int element;
List* nxt;
};
List* reverse(List* head)
{
if (!head)
return head;
List *p = head->nxt;
head->nxt = NULL;
List *q = NULL;
while (p)
{
q = p->nxt;
p->nxt = head;
head = p;
p = q;
}
return head;
}
int main()
{
vector<int> vec = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
List* next = NULL;
vector<int>::iterator beg;
for (beg = vec.begin();beg!=vec.end();++beg)
{
List* p=new List(*beg, next);
next = p;
}
List* head = next;
head=reverse(head);
while(head)
{
List *p = head;
cout << head->element << " ";
head = head->nxt;
delete p;
}
}
可能写的不标准。就酱。