
数据结构
文章平均质量分 87
数据结构的学习
tao滔不绝
22级大学生,用写博客的方式记录学习,欢迎大家阅读
展开
-
数据结构与算法中的七大排序(Java实现)
遍历一遍要排序的数组,把i下标前的元素全部进行排序,当遍历玩这个数组后,就已经排好序了。原创 2023-10-18 20:14:27 · 999 阅读 · 26 评论 -
数据结构 模拟实现ArrayList顺序表
我们知道,顺序表其实就是数组,所以要创建一个数组来存放数据,还要用一个整型变量来记录顺序表的大小,还有构造方法,我们可以指定顺序表的容量,也可以使用默认容量为10,代码如下。创建一个类,这个类实现上面接口,重写类里所有的方法。这个方法是打印顺序表的方法,并不是顺序表中的方法。以上的方法就是我们要模拟实现顺序表的方法了。清空顺序表,代码如下。原创 2023-12-17 13:39:21 · 2758 阅读 · 58 评论 -
数据结构 模拟实现LinkedList单向不循环链表
链表是一种物理存储结构不连续,逻辑上是连续的;链表类似现实中的火车,一节车厢连着一节车厢,而链表是通过链表之间的引用进行连接,构成一节一节的数据结构。原创 2023-12-31 21:21:21 · 1878 阅读 · 35 评论 -
数据结构 模拟实现LinkedList双向不循环链表
此方法是头插方法,参数是链表的val域的值,所以调用此方法时,要创建一个节点,再把这个节点进行头插;此方法是在指定位置插入节点,第一要检查要插入位置的index下标是否合法,不合法就抛异常,这里定义第一个节点下标为0,第二个节点下标为1,依次类推,如果要插入位置的下标是0,就是头插,如果要插入位置的下标是链表长度(size方法),就是尾插;要插入的位置在链表中间,我们要找出指定位置的前一个节点,修改前一个节点的next域,修改成要插入的节点,还有指定位置原来的节点的prev域也要修改,修改成要插入的节点。原创 2024-01-01 21:41:18 · 2266 阅读 · 43 评论 -
数据结构 模拟实现Stack栈(数组模拟)
在取出栈顶元素前,要检查栈是否为空,如果是空就要抛异常,因为没有元素可以出栈了;此方法是放元素进栈里面,也就是入栈,因为我们有记录栈元素个数的usedSize变量,所以我们可以用这个变量充当入栈时,要放进elem数组的哪个下标,因为usedSize记录的栈的个数,在数组中对应的下标就是个数-1;入栈前,要检查栈是否满了,满了就要扩容,没满就给elem数组的usedSize-1下标位置放入元素,放完后usedSize++。一直打印的都是栈顶元素,说明没有出栈顶元素,只是拿栈顶元素。原创 2024-01-06 11:12:00 · 1053 阅读 · 25 评论 -
数据结构 模拟实现Queue队列(双链表模拟)
如果不为空,就判断head.next为不为空,也就是判断队列是不是只有一个元素,如果只有一个元素,就取出头结点的val值,再把head和last置为空,usedSize--;如果有多个元素,就取出头结点的val值,把头结点的next置为空,头结点往后走一步,头结点的prev置空,usedSize--。此方法是入队列方法,首先要创建一个链表node,判断链表中为不为空,如果是空,就把head和last定义成node,usedSize++;出队列三次,把队列出完,如果里面没元素了,就会抛异常。原创 2024-01-06 19:47:05 · 2184 阅读 · 36 评论 -
数据结构 模拟实现二叉树(孩子表示法)
/孩子表示法char val;原创 2024-01-13 00:23:01 · 2423 阅读 · 47 评论