一天进步一点就可以了
zhangjy2008327
相信自己,快乐每一天
全部博文(285)
H.264(5)
算法(1)
原创(0)
转载(29)
netfilter(17)
IPROUTER2(0)
net-tools(1)
深入理解iputils(0)
linux设备模型(2)
网络驱动(9)
i2c(4)
专题1(17)
原子操作(1)
锁(0)
中断(8)
USB(4)
alsa(0)
battery(0)
lcm(1)
audio(0)
camera(2)
TP(1)
yangzhig
niuniu66
wojiuzhu
Bsolar
cokeboL
lhscau
mcuchina
jueshibi
jackywgw
分类: C/C++
2013-10-31 10:09:45
原文地址:链表的反转 C++实现 作者:kgisme170
#include <iostream> #include <memory> using namespace std; struct node{ int data; node* next; node(){data=0;next=0;} node(int d){data=d;next=0;} node* add(int d){next=new node(d);return next;} ~node(){delete next;} node* reverse(){ node* current=this; node* n=current->next; this->next=0; while(1){ node* nn=n->next; n->next=current; current=n; if(nn)n=nn; else break; } return n; } void print(){ node* t=this; while(t){ cout<<t->data<<' '<<t->next<<endl; t=t->next; } } }; int main() { node* pn=new node(1); auto_ptr<node> n(pn); n->add(2)->add(3)->add(4)->add(5); node* p=n->reverse(); p->print(); //delete p;----while auto_ptr,don't have to delete; cout << "Hello world!" << endl; return 0; }
上一篇:C++陷阱系列(1):让面试官倒掉的题
下一篇:LINUX进程优先级实现
登录 注册