单链表查找

69 阅读1分钟

按值查找

返回结点指针

ListNode *LocateElem(LinkList L,int e) {
	LinkList p=L->next; //有头结点 
	while(p&&p->data!=e){
		p=p->next;
	}
	return p;
}

返回位置

int LocateElem(LinkList L,int e){
	p=L->next;
	int j=1;
	while(p&&p->data!=e){
		p=p->next;
		j++;
	}
	return j;
}

索引查找

返回值

int GetElem(LinkList L,int i){
	LinkList p=L->next;
	int j=1;
	while(p&&j<i){
		p=p->next;
		j++;
	}
	int e=p->data;
	return e;
} 

返回结点指针

ListNode* GetElem(LinkList L,int i){
	   LinkList p=L->next;
	   int j=1;
	   while(p&&j<i){
		  p=p->next;
		  j++;
		}
	 return p;
}