Void LinkList::ReverseListByArray() { int n=getSize ; //获得链表的长度 Node* array[]; int i=0; Node*h; h=head->next; //带有附加头结点的链表,无附加头结点,可以删掉 while(h!=NULL) { array[i++]=h; h=h->next; } for(i=n-1;i>0;i--) array[i]->next=array[i-1]; //直接修改每个结点的next //head->next=array[n-1]; //是带附加头结点的 //tail=array[0];带有尾结点的 //tail->next=NULL; array[0]=NULL; }
C++:单链表的逆转(数组的实现)
最新推荐文章于 2024-09-15 21:53:26 发布
该代码片段展示了如何使用C++中的VoidLinkList类的ReverseListByArray方法,通过一个数组来逆序一个带有附加头结点的链表。方法首先获取链表长度,然后遍历链表并将节点存入数组,最后通过数组反向调整链表节点的next指针。
摘要由CSDN通过智能技术生成