数据结构总结 链表、栈、队列、排序、数组、树

因为数据结构有一点难度,有些lazy的同学不愿意去深究,学完了代码都没打几个,没错说的就是你肖兆菲同学,以下我将我打的电脑代码复制粘贴过来


首先先看链表 



关于单链表:

1、概念

                在单链表中由于数据元素的存储空间一般不是连续的,因此为了完善的表示单链表的逻辑结构,其中每一个数据元素必须由两部分构成:一部分是数据元素中的数据值,另一部分是数据元素的地址值。这两部分信息构成了单链表的一个节点。因此,在用单链表表示线性表时,每个结点的存储地址是任意的,即存储位置是无序的。

2、结构

                对于单链表来说,每个节点的结构都是(data,next),节点中有两个部分:data域—存放结点值的数据域,next—存放结点的直接后续的地址的链域。


1.0

编写一个Node类来充当结点的模型。我们知道,其中有两个属性,1存放数据的data,2存放下一结点的引用,

public class Node<T> {                            			//单链表结点类,T指定结点的元素类型
	
	//1. 定义成员变量
    public T data;                               			//数据域,存储数据元素
    public Node<T> next;                         			//地址域,引用后继结点

	
    //2. 定义构造方法
    public Node(T data, Node<T> next) {            			//构造结点,data指定数据元素,next指定后继结点
        this.data = data;                        			//T对象引用赋值
        this.next = next;                        			//Node<T>对象引用赋值
    }
    public Node() {
        this(null, null);
    }
    public String toString() {                                //返回结点数据域的描述字符串
        return this.data.toString();
    }
}


2.2、单链表的简单操作(增加,删除,获取总长度,链表元素排序,链表遍历)


我们依次来实现以下方法

1 判断是否为空

2 获取设置某元素

3 获取大小

4 插入某元素

5 移除某元素

6 清除该链表

7查询某元素

8 包含某元素

9 插入不同元素

Node.java

   public Node{
    public Node<T> head;                                   	//头指针,指向单链表的头结点
   
    
   
    public SinglyList() {                                   //构造方法,构造空单链表
        this.head = new Node<T>();                         	//创建头结点,data和next值均为null
    }

 
    public SinglyList(T[] values) {
        this();   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值