- 博客(13)
- 收藏
- 关注
原创 JAVA 解决迷宫问题
有一个迷宫,1是墙壁不可走,0是可以走的路.从入口出发,规定只能通过向上、向下、向左和向右方向进行走动,问如何才能找到一条到达出口的通路。{1, 1, 1, 1, 1, 1, 1, 1, 1},{0, 0, 1, 0, 0, 0, 1, 1, 1},{1, 0, 1, 1, 1, 0, 1, 1, 1},{1, 0, 0, 1, 0, 0, 1, 1, 1},{1, 1, 0, 1, 1, 0, 0, 0, 1},{1, 0, 0, 0, 0, 0, 1, 0, 1},{1, 0, 1,
2022-01-21 17:07:42
857
原创 JAVA解决N皇后问题(分治回溯)
8皇后问题:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。与数独问题类似,不同点在于,一行只能放一个皇后,所有是按行处理的 private static void queenA(int row) { if (row == N){ count++; System.out.println("第"+ count + "个解");
2022-01-21 16:55:54
576
原创 JAVA 数独求解的实现(分治回溯)
将数独问题缩小到一格子,判断这个格子填数字是否合法如果合法就填进去,并求解下一个格子的情况 private static void solve(int row, int col) { if (row == 9) { i++; System.out.println("===========" + i + "=========="); printBoard(); //System.exit(0)
2022-01-21 16:48:54
570
原创 JAVA 利用栈实现队列
利用2个栈来实现队列:栈A:1,2,3栈B:难点;poll方法先将栈A弹栈到只剩一个元素,弹出来的元素push到栈B中保存起来.在吧A中的元素保存起来作为返回值;在弹出去;这时在栈A中弹入(栈B中的所有元素一一弹出);返回保存的元素;peek方法同理代码实现:class QueueImplByStack<E> implements Queue<E>{ private ArrayStack<E> stackA; privat
2022-01-14 16:23:31
234
原创 JAVA 双端栈
相比普通栈的问题:1. 扩缩容都是将原先的数组元素移到一个新的数组中2. 左端栈直接对应角标移动就好了3. 而右端栈麻烦点需要找一个关系,4. 扩缩容之后新的rtop=新数组长度-右端栈的元素个数5. 最后再把新数组地址赋给原先数组:data=newData...
2022-01-14 16:15:50
213
原创 JAVA 循环队列以及双端队列
循环队列:具有队头指针(front)和队尾指针(rear),指示队列元素所在的位置,避免删除元素时移动大量元素。队列也是一中线性表,只不过它是操作受限的线性表,只能在两端操作,先进先出)。优点:相比普通的队列,元素出队时无需移动大量元素,只需移动头指针。 适合处理用户排队等待的情况。 import java.util.Iterator;public class ArrayLoopQueue<E> implements Queue<E> { //容器.
2022-01-14 15:55:39
307
原创 JAVA_利用队列迭代输出文件夹下所有文件
利用队列向进向出的特性将是文件夹的对象依次放入队列中并在下一轮循环中处理File类中所要使用的方法public boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录。public boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件。public String getName()返回由此抽象路径名表示的文件或目录的名称。import p2.数据结构.线性表.ArrayLoopQueue;import p2.数据结构.线性表.
2022-01-14 14:52:25
205
原创 JAVA利用队列遍历输出文件夹内所有文件
File类中利用下列方法确定一个File对象是文件夹还是文件public boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件public boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录。利用队列向进向出的特性将是文件夹的对象依次放入队列中并在下一轮循环中处理代码实现:import p2.数据结构.线性表.ArrayQueue;import java.io.File;public class DirctoryT
2022-01-14 14:48:59
537
原创 JAVA利用双指针发判断是否为回文字符串
2个指针开始时分别指向字符串第一个元素和最后一个元素,遍历字符串在左指针等于或左指针小于右指针是结束循环,依次判断2个指针指向的字符是否相等public class JudgingPali { public static void main(String[] args) { String a ="12345654321"; System.out.println(solun01(a)); } public static boolean solu.
2022-01-14 14:41:28
236
原创 JAVA数据结构--线性表(基础)
线性表(linearlist)也称有序表(orderedlist),它的每一一个实例都是元素的一个有序集合。每一个实例的形式为(e0,e1,...,en-1))其中n是有穷自然数,e是线性表的元素,i是元素e;的索引,n是线性表的长度或大小。元素可以被看做原子,它们本身的结构与线性表的结构无关。当n=0时,线性表为空;当n>0时,eo是线性表的第0个元素或首元素,en-1是线性表的最后一个元素。可以认为eo先于e1,er先于e2,等等。除了这种先后关系之外,线性表不再有其他关系。以下是一些...
2022-01-10 12:26:23
1512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人