void CreatList_L(LinkList &L,int n){
//-逆位序输入n个元素的值
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;//先建立一个带头结点的单链表
for(i=n;i>0;--i){
p=(LinkList)malloc(sizeof(LNode));//每次都生成新节点,注意P生成完后不是原来的节点了
scanf(&p->data);//输入元素
p->next=L->next;L->next=p;//重点代码,可根据下面的图片来理解
}
}//此代码位伪代码,不可直接使用,需要根据自己的代码进行调整
第一循环相当于将头指针指向数据1
第二次循环相当于先将p->next的节点换成数据1(L->next),然后在将原L->next的节点换成数据2(P)。
完整变换后就逆序插入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)