数组转双向链表

public class MyLinkedList<E> {

    transient MyNode first = null;
    transient int size =0;

    Object[] obs = null;

    MyLinkedList(Object[] obs){
        this.obs = obs;
        MyNode preNode = null;
        for (int i = 0; i < obs.length; i++) {
            MyNode succ = new MyNode(preNode,(E)(obs[i]),null);

            if(preNode!=null){
                preNode.next=succ;
            }else {
                first=succ;
            }
            preNode = succ;
            size++;
        }

    }

    class MyNode{
        E w;
        MyNode pre = null;
        MyNode next=null;

        public MyNode(MyNode pre,E w, MyNode next) {
            this.w = w;
            this.next = next;
            this.pre=pre;
        }
    }

    public int length(){
        return size;
    }

}

  

时间: 2024-10-07 15:56:19

数组转双向链表的相关文章

Bzoj4548 小奇的糖果(链表+树状数组)

题面 Bzoj 题解 很显然,我们只需要考虑单独取线段上方的情况,对于下方的把坐标取反再做一遍即可(因为我们只关心最终的答案) 建立树状数组维护一个横坐标区间内有多少个点,维护双向链表实现查询一个点左(右)横坐标最大(小)的与它相同的点. 首先枚举没有取到的颜色,找出所有不包含这种颜色的区间,更新答案. 接着考虑两个相同颜色的点的贡献,按照纵坐标从大到小枚举所有的点,分别在树状数组和双向链表中删除当前点,并利用这个点左右两边和它颜色相同的点之间的区间内点的个数更新答案. #include <cs

Java中HashMap等的实现要点浅析

@南柯梦博客中的系列文章对Jdk中常用容器类ArrayList.LinkedList.HashMap.HashSet等的实现原理以代码注释的方式给予了说明(详见http://www.cnblogs.com/dongying/p/4022795.html#3045118等文章),而我在这里用另一种方式对其实现要点作一说明. ArrayList和LinkList的实现原理比较简单,在关于Java的面试中经常被要求立即写出这两种容器类的简单实现.正如其名称所显示的,利用Java对泛型的支持在内部分别使

SylixOS 中断流程

说明 本文章分析了ARM架构下SylixOS内核中断流程,共包含三部分: 分析SylixOS运用数组和双向链表实现中断服务函数的注册 阐述ARM硬件中断机制 分析SylixOS中断处理流程 SylixOS中断注册 SylixOS中断注册是通过数组和双向链表实现的. 系统中断向量结构索引数组 _K_idescTable [256]是SylixOS内核中的系统中断向量结构索引数组,用于索引注册的中断服务函数,其类型如清单 21所示 清单 21 typedef struct {     LW_LIST

二模 (01) day1

第一题: 题目大意:给出N(N<=50)个小于1000的正整数Ai,和一个正整数max,和一个整数cur,从前往后依次对每个Ai,可以让cur+Ai 或者 cur-Ai,但是结果不能大于max,也不能小于0.求最终的cur的最大值. 解题过程: 1.一开始直接写了个爆搜+剪枝(ans=max或者ans+sum[i]<=ans),除了N=50的一些恶心数据都能过. 2.然后想到一个更强力的剪枝,就是当状态 (step,cur)之前已经搜索到过了,就跳过.然后就AC了. 3.其实第2条中的实质就是

containers-容器

维基百科定义: In computer science, a container is a class, a data structure,[1][2] or an abstractdata type (ADT) whose instances are collections of other objects. In other words;they are used for storing objects in an organized way following specific acces

跨平台网络通信与server编程框架库(acl库)介绍

一.描写叙述 acl project是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及server编程框架,同一时候提供很多其它的有用功能库.通过该库,用户能够很easy地编写支持多种模式(多线程.多进程.非堵塞.触发器.UDP方式)的server程序,WEB 应用程序,数据库应用程序.此外,该库还提供了常见应用的client通信库(如:HTTP.SMTP.ICMP.memcache.beanstalk),常见流式编解码库:XML/JSON/MI

快速排序 &amp;&amp; 希尔排序 &amp;&amp; 插入排序

1. 快速排序 不稳定的排序. 平均(与最好情况)时间复杂度:O(nlgn)   |  最坏情况时间复杂度(元素有序,递归栈为 O(n)):O(n2) 适合的数据结构:数组,双向链表. #include <stdio.h> #include <stdlib.h> int partition(int data[], int low, int high) { int value = data[low]; // can be done randomly while(low < hi

【Java集合系列六】LinkedHashMap解析

2017-08-14 16:30:10 1.简介 LinkedHashMap继承自HashMap,能保证迭代顺序,支持其他Map可选的操作.采用双向链表存储元素,默认的迭代序是插入序.重复插入一个已经存在的key不影响此顺序.如果accessOrder参数被使用且置为true,迭代序使用访问序,访问序受put.get.putAll等方法的影响,但不受集合视图操作的影响(其实HashMap中好像并没有什么视图操作,不像List有subList方法).LinkedHashMap不是线程安全的. 2.

STL 容器 底层数据结构

序列式容器: 元素位置和元素插入顺序有关,和元素值无关 vector list  deque 关联式容器: 和 序列容器相反,set map vector 数组 list 双向链表 set map 红黑树 deque 双向队列 来自为知笔记(Wiz)