c_cpp 编写一个函数以获取链接列表中的第N个节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 编写一个函数以获取链接列表中的第N个节点相关的知识,希望对你有一定的参考价值。

// https://www.geeksforgeeks.org/write-a-function-to-get-nth-node-in-a-linked-list/
#include <iostream>
#include <list>
using namespace std;

struct linked_list {
    int data;
    struct linked_list* next;
};
typedef struct linked_list node;

node* insert (node* head, int n) {
    node* list = (node*)malloc(sizeof(node*));
    list->data=n;
    list->next=head;
    head=list;
    return head;
}

int search (node* head, int n) {
    if (head!=NULL && n == 0)
        return head->data;
    node* list=head->next;
    n--;
    while (n>0 && list!=NULL) {
        list=list->next;
        n--;
    }
    if (list != NULL)
        return list->data;
    return -1;
}

int main () {
    int n;
    node* head;
    while (true) {
        cout<< "Enter the element, enter -9 to stop: ";
        cin>>n;
        if (n==-9)
            break;
        else
            head = insert(head,n);
    }
    cout<< "Enter the index of the node: ";
    cin >> n;
    n=search(head, n);
    if (n==-1)
        cout<< "Index not found!";
    else
        cout<< "Element is "<<n;
}

以上是关于c_cpp 编写一个函数以获取链接列表中的第N个节点的主要内容,如果未能解决你的问题,请参考以下文章

算法刷题:LC初级算法

用户定义的函数来计算出现的随机生成的列表包含一个以n开头的整数

c_cpp 从链接列表的末尾开始编程第n个节点

Matlab:如何在没有循环或内置函数的情况下递归地获取斐波那契序列中的第 N 个元素

c_cpp 以给定大小的组反转链接列表设置2

c_cpp 以给定大小的组反转链接列表设置1