#include <iostream>
#include <vector> using namespace std; struct Node{
int val;
Node *next; Node(int x):val(x),next(NULL){} }; class LinkedList{
private:
Node *head;
Node *root;
public:
LinkedList(){head = new Node(0); root=head;}
~LinkedList();
void build_list_by_normal(int *p, int size);
void build_list_by_vector(vector<int> arr);
Node* get_head();
}; LinkedList::~LinkedList(){
head = root->next;
while(head){
root = head;
delete root;
head = head->next;
}
} void LinkedList::build_list_by_normal(int *p, int size){
for(int i=0;i<size;i++){
Node *new_node = new Node(p[i]);
head->next = new_node;
head = head->next;
}
} void LinkedList::build_list_by_vector(vector<int> arr){
for(auto item:arr){
Node *new_node = new Node(item);
head->next = new_node;
head = head->next;
}
} Node* LinkedList::get_head(){
return root->next;
} void print_list(Node *head){
while(head){
cout<<head->val<<" ";
head = head->next;
}
} int main(int argc, char const *argv[]){
vector<int> arr={1,2,3,4,5,6};
int p[10] = {1,2,3,4,5,6,7,8,9,10};
LinkedList list;
list.build_list_by_vector(arr);
list.build_list_by_normal(p,10);
print_list(list.get_head());
list.~LinkedList();
print_list(list.get_head()); return 0;
}

链表LinkedList的更多相关文章

  1. 数据结构之链表(LinkedList)(三)

    数据结构之链表(LinkedList)(二) 环形链表 顾名思义 环形列表是一个首尾相连的环形链表 示意图 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活. 看一 ...

  2. 数据结构之链表(LinkedList)(二)

    数据结构之链表(LinkedList)(一) 双链表 上一篇讲述了单链表是通过next 指向下一个节点,那么双链表就是指不止可以顺序指向下一个节点,还可以通过prior域逆序指向上一个节点 示意图: ...

  3. 《数据结构与算法分析——C语言描述》ADT实现(NO.00) : 链表(Linked-List)

    开始学习数据结构,使用的教材是机械工业出版社的<数据结构与算法分析——C语言描述>,计划将书中的ADT用C语言实现一遍,记录于此.下面是第一个最简单的结构——链表. 链表(Linked-L ...

  4. 链表LinkedList、堆栈Stack、集合Set

    链表LinkedList LinkedList 也像 ArrayList 一样实现了基本的 List 接口,但它在 List 中间执行插入和删除操作时比 ArrayList 更高效.然而,它在随机访问 ...

  5. 【Java复健指南15】链表LinkedList及其说明

    链表LinkedList by Java 之前有写过一些记录(引用),但是忘了乱了,现在重新梳理一遍 链表是Java中List接口的一种实现 定义(引用) 链表(linked list)是一种物理存储 ...

  6. 用JavaScript来实现链表LinkedList

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文地址. 写在前面 好多做web开发的朋友,在学习数据结构和算法时可能比较讨厌C和C++,上学的时候写过的也忘得差不多了,更别提没写过的了.但幸运 ...

  7. 双链表---LinkedList的重写

    重写Linkedlist类,改写为MyLinkedList,未继承Iterable类. public class MyLinkedList<AnyType> { private int t ...

  8. [Swift实际操作]八、实用进阶-(9)Swift中的链表LinkedList详解

    链表是一种物理存储单元上的非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的.相比于线性表的顺序结构,链表比较方便插入和删除操作.本文将讲解如何模拟一个链表. //链表的节点 ...

  9. Python与数据结构[0] -> 链表/LinkedList[0] -> 单链表与带表头单链表的 Python 实现

    单链表 / Linked List 目录 单链表 带表头单链表 链表是一种基本的线性数据结构,在C语言中,这种数据结构通过指针实现,由于存储空间不要求连续性,因此插入和删除操作将变得十分快速.下面将利 ...

  10. Python与数据结构[0] -> 链表/LinkedList[1] -> 双链表与循环双链表的 Python 实现

    双链表 / Doubly Linked List 目录 双链表 循环双链表 1 双链表 双链表和单链表的不同之处在于,双链表需要多增加一个域(C语言),即在Python中需要多增加一个属性,用于存储指 ...

随机推荐

  1. [Python] 端口转发代码分享

    我的魔法被公司防火墙限制了,所以我只能让我的代理流量从我自己的服务器过一遍,但是服务器上面的客户端只能允许本机使用,不能开放公网访问,所以就想到了端口转发 但是网络上面找到的端口转发工具需要各种配置, ...

  2. Java 关于变量的赋值

    1 /** 2 * 3 * @Description 4 * @author Bytezero·zhenglei! Email:420498246@qq.com 5 * @version 6 * @d ...

  3. C++ //常用算法 adjacent_find //查找相邻的重复元素

    1 //常用算法 adjacent_find 2 //查找相邻的重复元素 3 #include<iostream> 4 #include<string> 5 #include& ...

  4. springboot发送邮件的几种方式

    准备工作(以QQ邮箱为例) SMTP 协议全称为 Simple Mail Transfer Protocol,译作简单邮件传输协议,它定义了邮件客户端软件与 SMTP 服务器之间,以及 SMTP 服务 ...

  5. PWR & 低功耗三种模式

    睡眠模式: int main(void) { OLED_Init(); OLED_ShowString(1, 1, "RxData:"); Serial_Init(); while ...

  6. Obsidian 0.15.9 知识笔记 使用说明

    我感觉这个软件是一个非常好用的软件,经过初步体验. 全局搜索快捷键 Ctrl + Shift + F 打开快速切换快捷键 Ctrl + O 添加标签 #测试标签 反向链接 Obsidian支持反向链接 ...

  7. SpringBoot+内置Tomcat配置,参数调优,最大并发量,最大连接数

    最近在研究这块的信息,记录下一些大神的文章: SpringBoot 最大连接数及最大并发数是多少???https://blog.csdn.net/weixin_44421461/article/det ...

  8. Spring Boot 2.0 新人会踩的坑--启动报404错误

    转载自:http://www.javaman.cn/channels/sb2 启动程序,验证效果 根据图示,点击按钮,来启动 Spring Boot Web 程序, 查看控制台输出: . ____ _ ...

  9. Android 开发Day6

    <?xml version="1.0" encoding="UTF-8"?> <project version="4"&g ...

  10. Garnet发布 Redis不再是唯一选择

    Garnet 是 Microsoft Research 的远程缓存存储,提供强大的性能(吞吐量和延迟).可扩展性.存储.恢复.集群分片.密钥迁移和复制功能. Garnet 可以与现有的 Redis 客 ...