数据结构
ITWords
本人主要深入研究语言java、scala,擅长方向大数据开发,java编程,系统建设和架构。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java实现二维数组和稀疏数组的转化并保存在文件中去
实现的思路: 实现代码: public class SparseArray_a { // 原始的棋盘是有11*11 // 有两个棋子,在 1,2 和 2,3 这两个地方 // 其中0 代表空的 1 代表黑子 2 代表 蓝子 public static void main(String[] args) { int chessArr[][] ...原创 2019-08-04 14:35:49 · 597 阅读 · 0 评论 -
java实现循环队列
实现思路: 实现的代码: public class CircleQuenue { private int maxSize;// 最大长度 private int[] arr; // 数组,存放值 private int font;// 队列头 private int rear;// 队列尾 public CircleQuenue(int a...原创 2019-08-04 17:22:12 · 301 阅读 · 0 评论 -
java实现链表的增删改查
实现的代码如下: 节点的定义: public class HeroNode { public int no; public String name; public String nickname; public HeroNode next; public HeroNode(int no, String name, String nickname) ...原创 2019-08-05 15:00:14 · 1096 阅读 · 0 评论 -
java实现单链表的反转倒序
实现的思路: 1.首先创建一个临时单链表single2。 2.将原来的链表single中的元素挨个取出,在取出的过程中相当于删除。 1)在取出的时候,需要将single的头指针指向它next的next headNode.next = headNode.next.next; 2) 取出res = headNode.next的时候,需要将res后边的都删掉 res.n...原创 2019-08-05 17:55:33 · 668 阅读 · 0 评论 -
java实现单链表的反转倒序(优化)
上一篇博文的代码量有点大,所以做了一下优化。 上一篇博文的地址:https://blog.youkuaiyun.com/new_buff_007/article/details/98503057 public void reverseList(Person headNode){ if(headNode.next == null || headNode.next.next == null...原创 2019-08-05 18:14:41 · 1040 阅读 · 0 评论 -
java实现单链表的逆序打印
实现思路: 代码实现: // 逆序打印 public void reversePrint(Person headNode){ if(headNode.next == null){ return;// 空列表,不可以打印 } Stack<Person> person = new Stack<...原创 2019-08-05 21:11:29 · 907 阅读 · 0 评论 -
java合并两个有序链表使其合并以后依然有序
实现思路 1.传入两个链表的头结点 2.新建一个链表的头结点newHead 3.循环比较传入的两个链表的排序变量,谁小(这里按从小到大安排序)谁加到newHead的后边 4.如果有一个链表已经为空,那么就只是针对另一个链表进行添加即可,知道两个链表都为空。 代码实现 public class SingleLinkedList { private Person head = ...原创 2019-08-06 10:49:19 · 1824 阅读 · 3 评论 -
java实现双向链表的增删改查
实现思路: 代码: public class DoubleLinkedList { private Person head = new Person(0,""); // 获取头结点 public Person getHead(){ return head; } // 添加-- 直接添加,没有按顺序添加 public ...原创 2019-08-06 15:11:33 · 281 阅读 · 0 评论 -
单向循环列表解决约瑟夫(Josepfu)环问题
思路: 核心代码: public class CircleSingleLinkedList { private Person first = null;// 第一个节点 // 创建一个单项循环列表 public void add(int nums){ // 校验一下数据是否合理 if(nums < 1){ ...原创 2019-08-06 16:54:35 · 226 阅读 · 0 评论 -
java使用数组模拟栈实现代码
思路: 代码实现: public class ArrayStack { private int maxSize;// 最大的尺寸 private int[] stack;// 使用数组模拟 private int top = -1;// 栈指针 , 初始为-1 public ArrayStack(int maxSize) {// 初始化 ...原创 2019-08-06 17:32:16 · 300 阅读 · 0 评论 -
java使用单链表模拟栈
思路:(压栈时候采用头插法) 代码演示: public class LinkedListStack { private Person top = new Person(-1); // 判断栈是否为空 public boolean isEmpty(){ return top.getNo() == -1; } // 入栈 ...原创 2019-08-06 20:55:18 · 1819 阅读 · 2 评论 -
java实现计算器的功能
ArrayStack public class ArrayStack { private int maxSize;// 最大的尺寸 private int[] stack;// 使用数组模拟 private int top = -1;// 栈指针 , 初始为-1 public ArrayStack(int maxSize) {// 初始化 ...原创 2019-08-10 09:43:18 · 1633 阅读 · 0 评论
分享