数据结构:单向链表系列5--在链表中查找元素
Posted passedbylove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:单向链表系列5--在链表中查找元素相关的知识,希望对你有一定的参考价值。
在链表中查找元素
函数签名:
bool search(Node *head, int x)
如果在链表中查找到这个元素返回true,否则false
迭代法
2) 初始化一个节点指针, current = head. 3) 如果current不为NULL执行以下循环 a) current->key 等于当前待查找值key则返回true. b) current = current->next 4) 否则返回 false
/*Checks whether the value key is present in linked list*/
bool search(struct Node* head, int key)
struct Node* current = head; //Initialize current
while(current != NULL)
if(current->data == key)
return true;
current = current->next;
return false;
java:
//Checks whether the value key is present in linked list
public boolean search(Node head, int key)
Node current = head; //Initialize current
while (current != null)
if (current.data == key)
return true; //data found
current = current.next;
return false; //data not found
c#
// Checks whether the value key is present in linked list
public bool search(Node head, int key)
Node current = head; // Initialize current
while (current != null)
if (current.data == key)
return true; // data found
current = current.next;
return false; // data not found
递归法:
bool search(head, x) 1)如果head是NULL, return false. 2) 如果head数据域的值和待查找的一致,返回true; 2) 否则返回 search(head->next, x)
c语言:
/*
Checks whether the value key is present in linked list
*/
bool searchRecursive(struct Node* head, int key)
if(head == NULL)
return false;
//If key is present in current node,
//return true
if(head->data == key)
return true;
//recursive for remaining list
return searchRecursive(head->next, key);
java:
// Checks whether the value key is present
// in linked list
public boolean search(Node head, int key)
// Base case
if (head == null)
return false;
// If key is present in current node,
// return true
if (head.data == key)
return true;
// Recur for remaining list
return search(head.next, key);
c#
// Checks whether the value key is present
// in linked list
public bool search(Node head, int key)
// Base case
if (head == null)
return false;
// If key is present in current node,
// return true
if (head.data == key)
return true;
// Recur for remaining list
return search(head.next, key);
文章来源:https://www.geeksforgeeks.org/search-an-element-in-a-linked-list-iterative-and-recursive/
以上是关于数据结构:单向链表系列5--在链表中查找元素的主要内容,如果未能解决你的问题,请参考以下文章