链表不是随机存储的结构,他查找数据必须一个一个挨着寻找,
算法描述:从第一个结点(L->next)开始扫描,用P指向当前扫描到的结点,p的初值: p = L->next; J作计数器,每扫描一个结点计数器加一;当 j==i 时就是我们要找的结点
1 Status GetElem(LinkList L,int i;ElemType &e){ //获取从链表L中获取元素,获取的是第i个,返回值是e 2 p=L->next; //初始化p指向首元结点,同时定义计数器为0; 3 j=1; 4 while(p&&j<i){ //p存在且计数器的值小于所含元素的值时进行循环,若等于则不能进行循环 5 p=p->next; 存在值,则将指针后移,同时计数器加一 6 j++; 7 } 8 if(!p||j>i) 如果P不存在,或者计数器的值比要取得值大则报错,否则输出该位置的元素 9 return error; 10 e = p->next; 11 }
标签:结点,单链,--,元素,扫描,next,链表,计数器 From: https://www.cnblogs.com/zheng-yumeng/p/16760518.html