对于指针,许多初学者都抱着敬而远之的态度,许多问题尽管可以用指针很快的求解出来,但是由于怕出错,反而用累醉的数组,或者引用数据等来求解,一写一大片,还没有把问题给解决,这里只是一个个人对指针的一点心得:
CircNode* clist,* last;
int n,i,m;
clist=new CircNode;
clist->date=1;
clist->Link=clist;
last=clist;
cin>>n>>m;
for(i=2; i<=n; i++)
{
last->Link=new CircNode; //有些人在这里创建新节点时写成这样
last=last->Link; // last=last->Link;
last->date=i; // last=new CircNode;
} // last->data=i; //这样的创建会造成错误,因为last付了两次值,会造成新new出来的节点和之前的节点脱节,没有连上
last->Link=clist;
Josephus(clist,n,m);
注意对指针的建立,如果要自己赋值是,要记得new,用完之后要记得delete,要不然最后会造成内存过剩,是程序过大
阅读(735) | 评论(0) | 转发(0) |