`
zhengaihua
  • 浏览: 21746 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

数组实现链表

    博客分类:
  • java
阅读更多
    //测试类  
    public class ListTest {  
        public static void main(String[] args) {  
            // 创建一个数组对象  
            Mylist<Integer> list = new Mylist<Integer>();  
            for (int i = 0; i < 10; i++) {  
                int s = 10*i;  
                list.add(s);  
                  
            }  
            //再添加元素  
            list.add(100);  
            list.modify(10, 100);  
              
            // 取出元素  
            for (int i = 0; i < list.size(); i++) {  
                int s = list.get(i);  
                System.out.println(s);  
            }  
        }  
      
    }  
      
      
    /** 
     * 创建一个数组队列 
     *  
     * @author 闭耀尧 
     *  
     */  
    public class Mylist<E> {  
      
        // 创建一个空的初始数组  
        Object src[] = new Object[0];  
        Object  stroke[]=new Object[500];  
      
        /** 
         * 给数组添加元素 
         *  
         * @return 
         */  
        public void add(E s) {  
            Object dest[] = new Object[src.length + 1];  
            // 将初始数组的值赋给新创建的数组中  
            for (int i = 0; i < src.length; i++) {  
      
                 dest[i] =  src[i];  
                  
            }  
            // 将心数组的值赋给初始数组的最后一个位置  
                dest[src.length]=s;  
                src = dest;  
                  
              
        }  
      
        /** 
         * 根据下标获取数组中的元素 
         * 返回所获取的个数 
         */  
        public E get(int index) {  
            E s=(E)src[index];  
              
            return s;  
      
        }  
      
        /** 
         * 根据下标和元素名修改数组元素 
         */  
        public void modify(int index,E s) {  
            src[index]=s;  
      
        }  
      
        /** 
         * 根据元素名和下标插入数组 
         */  
        public void insert(int index, E s) {  
            src[index]=s;  
        }  
      
        /** 
         * 根据元素名和下标删除数组 
         *  
         */  
        public void delete(int index, E s1) {  
            E s=(E)src[index];  
              
      
        }  
      
        /** 
         * 统计数组大小 
         * 返回所获取的大小 
         */  
        public int size() {  
            return src.length;  
      
        }  
      
          
          
          
    }  

 

分享到:
评论

相关推荐

    用数组实现链表(有错误版本).zip

    这就是“用数组实现链表”这个概念的由来。 在这个错误版本的实现中,开发者可能尝试通过数组来模拟链表的一些特性,如动态增长、插入和删除操作。然而,由于数组和链表的本质区别,这种实现可能会遇到一些挑战。 ...

    数据结构动态数组实现链表

    总的来说,通过动态数组实现链表是一种有趣的实践,它结合了两种数据结构的优点,但也需要权衡插入/删除效率和内存使用。理解这种实现方式可以帮助我们更好地理解和设计数据结构,为未来的编程挑战打下坚实的基础。

    数据结构固定大小数组实现链表

    固定大小的数组实现链表的思想是将数组的每个元素视为一个节点,包含数据和指向下一个节点的指针。这种实现方式结合了数组和链表的优点:利用数组的连续存储特性加速随机访问,同时通过指针实现动态扩展和收缩。 1....

    自行使用Java数组实现链表数据结构

    本篇文章将深入探讨如何使用Java数组来模拟实现链表数据结构,以此来增强对链表理解的同时,也能看到数组在特殊场景下的运用。 链表是由一系列节点(或称为元素)组成的线性数据结构,每个节点包含数据和指向下一个...

    pythonlist是数组还是链表实现的-数组和链表结构(python)-1 数组和链表.pdf

    "Python列表是数组还是链表实现的?-数组和链表结构(Python)" Python列表是一个非常常用的数据结构,但是它究竟是数组还是链表实现的?在Python中,列表是使用链表结构实现的,但是在某些情况下,也可以使用数组...

    多重数组实现链表

    有些语言不提供指针与对象数据类型,以下代码通过多重数组实现链表结构及其基本操作。 用一个数组空间模拟分配堆。用一个头指针为free的链表来管理自由空间。用栈得push和pop操作来实现释放和分配空间。 三个数组...

    C++——数组模拟链表

    今天,我们将讨论如何使用数组来模拟链表,并实现链表的插入和遍历操作。 首先,我们需要了解链表的基本结构。链表是一种动态的数据结构,每个结点都包含两个部分:数据域和指针域。数据域存储当前结点的值,而指针...

    python算法-数组和链表 数组和链表.pdf

    Python算法-数组和链表 Python算法中,数组和链表是两种常用的数据结构。它们都是用于存储和管理数据的,但是它们在实现和使用上有很大的区别。 数组是具有相同的数据类型且按一定次序排列的集合体。它的元素在...

    数组和链表实现队列

    **数组实现队列** 1. **基础概念**:数组是一种线性数据结构,其中元素在内存中是连续存储的,可以通过索引来访问。数组实现队列时,通常使用两个指针,一个指向队首,另一个指向队尾。 2. **入队操作**:当有...

    c语言数组与链表转化-分别用数组和链表实现堆栈(C语言版)(转) 数组和链表.pdf

    第一种方法是使用数组实现堆栈。在这种方法中,我们需要定义一个结构体来存储堆栈的元素,然后使用数组来存储元素。堆栈的操作包括push、pop、size、is_empty、is_full等。具体来说,我们可以定义一个结构体_stack来...

    数组、链表、队列、栈的区别和联系 数组和链表.pdf

    队列可以使用数组或链表实现,数组实现的队列可以快速地随机访问元素,而链表实现的队列可以快速地插入或删除元素。 栈是一种后进先出(Last-In-First-Out,LIFO)的数据结构,元素的添加和删除都是从栈顶进行的。...

    数组和链表的对比分析 数组和链表.docx

    与基于数组的实现相比,链表中的元素在逻辑上是相邻的,但在物理位置上不一定相邻。这使得链表具有更高的灵活性,特别是在插入和删除操作方面: - **插入和删除操作**:链表可以在O(1)的时间内完成插入或删除操作,...

    Java用数组和链表的方式简单实现HashMap的增删改功能 数组和链表.pdf

    在Java中,HashMap的实现方式有多种,本文将介绍使用数组和链表的方式简单实现HashMap的增删改功能。 HashMap的数据结构 HashMap的数据结构主要由三个部分组成:数组、链表和红黑树。数组用于存储键值对,链表用于...

    go语言通过数组和链表的方式实现队列 数组和链表.pdf

    3.go语言中通过数组实现队列:使用type ArrayList struct { e []interface{} }定义一个ArrayList结构体,实现了队列的Offer、Poll、Peek、Clear、Size、IsEmpty和Print方法。 4.go语言中通过链表实现队列:使用type...

    c语言链表数组-c语言手写单链表实现,数组和链表结构对比小结和个人理解 数组和链表.pdf

    在实现链表时,我们需要考虑以下几个方面: 1. 节点结构体:链表的每个节点都包含数据域和指针域。 2. 节点的插入和删除:我们可以使用指针来插入和删除节点。 3. 节点的遍历:我们可以使用指针来遍历链表。 四、...

    C语言数组形链表实现

    本文将深入探讨如何使用C语言实现数组形链表,并详细讲解其相关接口。 首先,我们需要定义数组形链表的数据结构。它通常包含一个数组,用于存储元素,以及一个指示当前数组容量的变量。当数组满时,我们可以通过...

    数组和链表的使用场景 数组和链表.pdf

    在计算机科学中,数组和链表是两种基本的数据结构,它们都是线性表的实现方式,但它们有着不同的存储结构和访问方式,从而导致不同的使用场景。 数组是一种连续存储的数据结构,即在内存中连续存储的。数组的优点是...

    Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树) 数组和链表.pdf

    Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树) 在Java集合中,HashMap是一个常用的数据结构,它基于Map接口实现,元素以键值对的方式存储,并且允许使用null键和null值。由于key不允许...

Global site tag (gtag.js) - Google Analytics