Java数据结构和算法
学习改变未来
努力学习,天天向上。
展开
-
二分查找算法
public class BinarySearch { public static void main(String[] args) { int arr1[] = {1,5,8,9,14,25,25,25,135}; System.out.println(BinarySearch.search1(arr1,0,arr1.length,25)); } public static List<Integer> search1(in.原创 2021-02-17 21:22:59 · 140 阅读 · 1 评论 -
八皇后
//八皇后public class Queue8 { int max=8; int arr[] = new int[max]; static int count = 0; public static void main(String[] args) { Queue8 queue8=new Queue8(); queue8.check(0); System.out.println(count); } p..原创 2021-01-31 21:22:15 · 93 阅读 · 0 评论 -
JAVA使用单链表模拟栈
public class LinkedListStackDemo { public static void main(String[] args) { ShuJu shuJu1 = new ShuJu(1); ShuJu shuJu2 = new ShuJu(2); ShuJu shuJu3 = new ShuJu(3); ShuJu shuJu4 = new ShuJu(4); ShuJu shuJu5 = n.原创 2021-01-29 13:59:12 · 90 阅读 · 0 评论 -
递归实现迷宫寻路问题
递归:方法内调用本方法,每次调用都会在栈中新建一个栈帧,直到最后一个方法结束,开始返回,栈帧依次出栈。本代码实现思路 1.定义一个迷宫,设置墙2.设计自己的行走方法(下 >右>上>左)package MiGong;//递归实现迷宫寻路问题public class MiGongg { public static void main(String[] args) { int arr[][] = new int[8][7]; arr[2原创 2021-01-25 19:17:22 · 281 阅读 · 0 评论 -
Java数组模拟栈的操作
package Stack;//数组模拟栈public class ArrayStackDemo { public static void main(String[] args) { ArrayStack stack=new ArrayStack(5); stack.push(1); stack.push(2); stack.push(3); stack.push(4); stack.push(.原创 2021-01-21 19:21:15 · 109 阅读 · 1 评论 -
JAVA环形链表实现约瑟夫杯问题
public class Josepfu { public static void main(String[] args) { CircleSingleLinkedList linkedList=new CircleSingleLinkedList(); linkedList.addCircleList(10); linkedList.list(); linkedList.countBoy(1,2,10); }}c.原创 2021-01-20 15:56:33 · 136 阅读 · 0 评论 -
Java实现双链表的增删改查
//双向链表public class DoubleLinkedListDemo { public static void main(String[] args) { SuperHero1 hero1 = new SuperHero1(1,"aaa","aaaa"); SuperHero1 hero2 = new SuperHero1(2,"bbb","bbbb"); SuperHero1 hero3 = new SuperHero1(3,"cc.原创 2021-01-17 19:18:31 · 90 阅读 · 0 评论 -
Java实现简单单链表,反转链表
//定义英雄对象,每个对象都是一个节点class SuperHero{ public int id; public String name; public String nickName; public SuperHero next; public SuperHero(int sid,String sname,String snickName){ this.id=sid; this.name=sname; this.原创 2021-01-15 22:28:34 · 122 阅读 · 0 评论 -
求一个数组连续元素最大和
//求一个数组连续元素最大和public class arr1 { public static void arr(int arr[]){ int maxSum=0; for (int i=0;i<arr.length;i++){ int arrSum = 0; for (int a=i;a<arr.length;a++){ arrSum=arrSum+.原创 2021-01-14 10:14:05 · 249 阅读 · 0 评论 -
稀疏数组的简单代码实现
稀疏数组的JAVA代码实现package suanfa1;import java.io.*;/*稀疏数组*/public class ArrayList { public static void main(String[] args) { int arr1[][]=new int[11][11]; arr1[1][2]=5; arr1[2][3]=7; arr1[5][5]=25;/* fo原创 2021-01-11 20:35:12 · 184 阅读 · 1 评论 -
使用数组来实现简单队列
//队列是一个有序列表 遵循先入先出原则//使用数组来模拟队列public class ArrayQueue { class ArrayQ{ private int maxSize; //队列最大容量 private int front; //队列头 private int rear; //队列尾 private int arr[]; //数组用于存放数据,模拟队列 //队列初始化 pub.原创 2021-01-13 21:50:03 · 208 阅读 · 1 评论