美文网首页
C++根据数组创建单向链表

C++根据数组创建单向链表

作者: Virtualer | 来源:发表于2019-09-25 13:57 被阅读0次

在刷牛客网试题的时候发现和leetcode不一样的地方,leetcode只需要写核心算法,而牛客网需要写完整程序。对于链表这种题目当然避免不了要创建链表,那么就写下来链表的创建:

#include <iostream>
#include <vector>

using namespace std;

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(nullptr) {}
} ;

ListNode* CreateList(const vector<int> &vec) {
    if (vec.empty()) {
        return nullptr;
    }
    auto head = new ListNode(vec.at(0));
    ListNode* p = head;
    for (size_t i = 1; i < vec.size(); i++) {
        auto q = new ListNode(vec.at(i));
        p->next = q;
        p = p->next;
    }
    return head;
}

int main(int argc, char **argv) {
    vector<int> vec;
    vec.push_back(6);
    vec.push_back(2);
    vec.push_back(3);
    vec.push_back(4);
    vec.push_back(5);

    vec.shrink_to_fit();
    ListNode* head = CreateList(vec);
    while (head != nullptr) {
        cout << head->val << endl;
        head = head->next;
    }
    return 0;
}

相关文章

  • C++根据数组创建单向链表

    在刷牛客网试题的时候发现和leetcode不一样的地方,leetcode只需要写核心算法,而牛客网需要写完整程序。...

  • 1.数据结构-单链表的基本操作

    文章内容: 1.根据数组array创建单链表 2.打印单链表 一.首先创建单链表的节点类Node: 二.根据数组a...

  • HashMap

    HashMap 原理 HashMap由数组和单向链表构成。 HashMap由单向链表和数组构成, 默认初始化数组大...

  • 线性表-单向循环链表

    为了方便,本文介绍的单向循环链表不包含头节点 单向循环链表内容 单向循环链表的的定义 单向循环链表的创建 单向循环...

  • 算法与数据结构:链表

    链表 链表还分为单向链表和双向链表, 但是这篇文章只说单向链表 , 下次再讲双向链表 . 链表和数组的区别 ? 链...

  • HashMap 源码分析

    一、HashMap内部的数据结构是什么? 数组+单向链表 二、怎么验证内部结构是数组和单向链表? a、数组:通过H...

  • HashMap,LinkedHashMap简析及LruCache

    简介 HashMap:数组+单向链表 LinkedHashMap: HashMap + 双向循环链表 LruCac...

  • Ucos系统常用的数据结构有哪些?

    1)表 链表 表中主要了解链表,尤其是单向链表。 2)数组 一维数组 二维数组 使用数组有什么好处,在c语言中,数...

  • 单链表二-单链表的整表创建和删除

    单链表的整表创建:单链表的创建不能像顺序循序结构一样通过数组来创建,它的创建应该根据实际情况来,因为单链表的生成是...

  • 【数据结构与算法 - Swift实现】02 - 链表

    与数组一样,链表也是存储元素的集合。 链表的分类 单向链表 单向链表的节点存储了下一个节点的地址。如下图: 双向链...

网友评论

      本文标题:C++根据数组创建单向链表

      本文链接:https://www.haomeiwen.com/subject/etfiyctx.html