微信小程序 查找兄弟节点_使用C ++程序在链接列表中查找节点
微信小程序 查找兄弟節(jié)點(diǎn)
Given a linked list and an integer N, you need to find and return index where N is present in the Linked List. Return -1 if n is not present in the Linked List.
給定一個(gè)鏈表和一個(gè)整數(shù)N,您需要查找并返回索引,其中鏈表中存在N。 如果n在鏈接列表中不存在,則返回-1。
Indexing of nodes starts from 0.
節(jié)點(diǎn)的索引從0開(kāi)始。
Input format:Line 1: Linked list elements (separated by space and terminated by -1)Line 2: Integer n Output format:IndexExample:
例:
Sample Input 1:3 4 5 2 6 1 9 -15Sample Output 1:2Sample Input 2:3 4 5 2 6 1 9 -16Sample Output 2:4Description:
描述:
In this question, we are given a linked list and a data. We have to find the index of the Node which contains the data.
在這個(gè)問(wèn)題中,我們得到了一個(gè)鏈表和一個(gè)數(shù)據(jù)。 我們必須找到包含數(shù)據(jù)的Node的索引 。
Example:
例:
2->1->5->4->3->NULLIn this list 5 is at 2nd index.Solution explanation:
解決方案說(shuō)明:
In this question, we define a temp pointer and equating it with head of the Linked List. We have to keep an integer index keeping the track of the temp node. We keep on traversing while temp != NULL. On each traversal, we check whether temp's data and the user's data. If they are equal, we return the index. Else we increment index by 1 and temp to temp-> next.
在這個(gè)問(wèn)題中,我們定義了一個(gè)臨時(shí)指針,并將其與“鏈表”的頭部相等。 我們必須保留一個(gè)整數(shù)索引來(lái)跟蹤臨時(shí)節(jié)點(diǎn)。 當(dāng)temp!= NULL時(shí),我們繼續(xù)遍歷。 在每次遍歷時(shí),我們都會(huì)檢查temp的數(shù)據(jù)和用戶(hù)的數(shù)據(jù)。 如果它們相等,則返回index 。 否則,我們將index遞增1,并將temp遞增到temp-> next 。
At last if we don’t find the element, we return -1.
最后,如果找不到該元素,則返回-1。
Algorithm:
算法:
Step 1: Declare the recursive function with parameters (Node * head, int data)
步驟1:使用參數(shù)(Node * head,int數(shù)據(jù))聲明遞歸函數(shù)
Step 2: Put Node *temp = head, int index = 0;
步驟2:將Node * temp = head , int index = 0;
Step 3: Repeat Step 4 and 5 while (temp!= NULL)
步驟3: 在(temp!= NULL)的同時(shí)重復(fù)步驟4和5 。
Step 4: if(temp -> data == data) return index
步驟4: if(temp-> data == data)返回索引
Step 5: else index++ and temp = temp->next;
步驟5:else index ++和temp = temp-> next;
Step 6: return -1
步驟6:傳回-1
Function:
功能:
//Function for finding the node int findNodeInLL(Node* head, int data){//Used to keep track of the Node Indexint index = 0; Node * temp = head;//LinkedList traversal for finding the nodewhile(temp!=NULL){if(temp->data == data){ //If element found return indexreturn index; }temp = temp->next;index++;} //If element not foundreturn -1; } .minHeight{min-height: 250px;}@media (min-width: 1025px){.minHeight{min-height: 90px;}} .minHeight{min-height: 250px;}@media (min-width: 1025px){.minHeight{min-height: 90px;}}C++ code
C ++代碼
#include <bits/stdc++.h> using namespace std;struct Node{// linked list Nodeint data;Node * next; };Node *newNode(int k){ //defining new nodeNode *temp = (Node*)malloc(sizeof(Node)); temp->data = k; temp->next = NULL; return temp; }//Used to add new node at the end of the list Node *addNode(Node* head, int k){if(head == NULL){head = newNode(k);}else{Node * temp = head;Node * node = newNode(k);while(temp->next!= NULL){temp = temp->next;}temp-> next = node;}return head; }// Used to create new linked list and return head Node *createNewLL(){int cont = 1;int data;Node* head = NULL;while(cont){cout<<"Enter the data of the Node"<<endl;cin>>data;head = addNode(head,data);cout<<"Do you want to continue?(0/1)"<<endl;cin>>cont;}return head; }//Function for finding the node int findNodeInLL(Node* head, int data){//Used to keep track of the Node Indexint index = 0; Node * temp = head;//LinkedList traversal for finding the nodewhile(temp!=NULL){if(temp->data == data){ //If element found return indexreturn index; }temp = temp->next;index++;} //If element not foundreturn -1; }//Driver Main int main(){Node * head = createNewLL();int data;cout<<"Enter the data of the linked list to be found."<<endl;cin>>data;int index = findNodeInLL(head,data);cout<<"It is present at "<<index<< endl;return 0; }Output
輸出量
Enter the data of the Node 5 Do you want to continue?(0/1) 1 Enter the data of the Node 6 Do you want to continue?(0/1) 1 Enter the data of the Node 7 Do you want to continue?(0/1) 1 Enter the data of the Node 8 Do you want to continue?(0/1) 1 Enter the data of the Node 9 Do you want to continue?(0/1) 0 Enter the data of the linked list to be found. 8 It is present at 3翻譯自: https://www.includehelp.com/cpp-programs/find-a-node-in-linked-list.aspx
微信小程序 查找兄弟節(jié)點(diǎn)
總結(jié)
以上是生活随笔為你收集整理的微信小程序 查找兄弟节点_使用C ++程序在链接列表中查找节点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “琴高乘去腾上天”上一句是什么
- 下一篇: stack.pop()方法_C.示例中的