初识Java语言——顺序表和单向链表(基础知识1——创建一个线性表)

初识Java语言——线性表(基础知识1——创建一个线性表)

在数据结构中,按逻辑将数据的结构分为线性表和非线性表,而线性表按照存储单元是否连续分为顺序表和链表。
一、顺序表
顺序表你可以看成一个数组,因为它的存储单元是连续的,要访问它的元素,就需要知道首地址和偏移量,进而可以随机访问顺序表当中的值。下面来看一下如何创建一个顺序表吧。(后序补充顺表当中的算法)

class ArraysList{
    
    
private int usedSize;
private int[]num;
public ArraysList(){
    
    
this.num=new int[5];
}
}
public class Main{
    
    
ArraysList arr=new ArraysList();//此时就算创建了一个存储长度为5的一个顺序表了
}

但是顺序表有个缺点就是当我执行删除或者插入操作时会带动大量的元素进行移动,还有就是如果顺序表扩容时,如果我们仅仅只需再放入一个元素时,那么多出来的存储空间就会 被浪费掉,所以就引申出了链表这个东西。
二、链表
链表和顺序表的性质完全相反(存储结构不连续,永远不会放满,不浪费空间,但是必能做到随机访问数据元素,一切都是在遍历整条链表的前提下进行操作的。下面来看一下如何创建一个单项链表吧。
在这里插入图片描述
在这里插入图片描述

class Node{
    
    
public int data;
public Node next;
public Node(){
    
    
}
public Node(int data){
    
    
this.data=data;
}
}
//暂时以头插法创建一个单链表,后序会补充尾插和其他功能
public class LinkList{
    
    
Node head;
public creatLink(int data){
    
    
Node node=new Node(data);
node.next=this.head;
this.head=node;
}
}
public class Main{
    
    
public static void main(String[]args){
    
    
LinkList link=new LinkList();
link.creatLink(8);
link.creatLink(7);
link.creatLink(6);
}//这样就创建了一个单向链表,6 7 8
}

以上就是顺序表和单向链表的创建,后序会补充顺序表和链表的一些算法,一起加油!!!!!

猜你喜欢

转载自blog.csdn.net/qq_45841205/article/details/112060380