#include <iostream>
#include <ctime>
//å®ä¹é¾è¡¨èç¹ç»æ
struct Node
{
public:
Node():_val(0),_next(NULL)
{
}
Node(int val):_val(val),_next(NULL)
{
}
Node(int val,Node* next):_val(val),_next(next)
{
}
~Node()
{
if (_next)
delete _next;
}
public:
int _val;
Node* _next;
};
typedef Node* LinkNode;
//å建ä¸ä¸ªé¾è¡¨
Node* CreateLink(int len,int MAX_BOUND = 100)
{
srand((unsigned int)time(NULL));
LinkNode head = new Node(-1);
LinkNode tmp = head;
for (int i = 0; i < len; ++i)
{
tmp = tmp->_next = new Node(rand() % MAX_BOUND);
}
tmp->_next = NULL;
return head;
}
//é¾è¡¨é转
Node* LinkListReserve(LinkNode head)
{
LinkNode p = NULL; //è®°å½é转èç¹çåä¸ä¸ªèç¹ï¼
LinkNode r = head; //è®°å½å½åèç¹;
LinkNode q = NULL; //è®°å½é转èç¹çä¸ä¸ä¸ªèç¹ï¼
while (r != NULL)
{
q = r->_next; //ä¿åä¸ä¸ä¸ªèç¹
r->_next = p; //é转
p = r; //ä¸ä¸æ¬¡éå
r = q;
}
return p;
}
//æå°é¾è¡¨æ°æ®
void Print(LinkNode head)
{
using namespace std;
cout<<".......begin......"<<endl;
while (head != NULL)
{
cout<<head->_val<<" ";
head = head->_next;
}
cout<<endl<<".......end........"<<endl;
}
int main(int argc,char* argv[])
{
Node* head = CreateLink(4);
Print(head);
Print(LinkListReserve(head));
return 0;
}
追é®è°¢è°¢
è¿æ¯c++ ï¼ï¼ï¼
😳😳
追çæ¯åï¼ï¼ï¼ï¼æä¹å¦
追é®å
å°ï¼æ没æcè¯è¨çç