算法
2a3b4c
2a3b4c
展开
-
Java学习之排序算法(冒泡排序,选择排序,快速排序)
冒泡排序:直接上代码(其实就是相邻两两直接进行比较,如果后面比前面大,则交换,否则继续比较,每循环一次则会把最小的值传递到最后一位(之后的都是传递到后一位的前一位))话不多说,直接上代码:public class BubberSort { public static void main(String[] args) { int[] arr={34,556,3,8...原创 2018-10-23 10:37:32 · 299 阅读 · 0 评论 -
直接插入排序
【1】算法思想: 直接插入排序是一种最简单的排序方法,其基本操作是将一个记录插入到一个长度为米的有序表中,使之仍保持有序,从而得到一个新的长度为m + 1个的有序列表。 假设有一组元素{K1,K2 ...,KN },排序开始就认为K1 是一个有序序列,让K2 插入上述表长为1 的有序序列,使之成为一个表长为2 的有序序列,然后让K3 插入上述表长为2 的有序序...原创 2018-10-30 17:31:54 · 116 阅读 · 0 评论 -
排序算法之堆排序
堆排序【1】堆排序的思想 堆排序的思想是指利用堆数据结构所设计的一种数据排序算法。 堆:堆是一种特殊的完全二叉树,最大堆的特点是它的结点的值总是不小于它的父节点的值(也就是说其父节点的值总是大于它的子节点的值),总是一颗完全二叉树结构。【2】堆排序过程A:有输入的无序数组构成一个完全二叉树结构B:先由此完全二叉树构成一个最大堆,作为初始堆(一直交...原创 2018-11-01 12:56:26 · 95 阅读 · 0 评论 -
华容道 ——控制台实现
这是我们班温油的java老师给我们留的一道课后题,先来讲一下玩法吧设计控制台版本的华容道游戏,用户输入人物和移动方向,能够判断可否移动,并且根据给定方向和人物,进行移动。请自行设计人物类,并实现相应的功能。 输入: 甲 右 输出: 输入: 赵云 下输出:输入: 曹操 下输出:曹操不能向下走,请重新输入。好啦,看一下小北同学...原创 2018-11-14 17:35:47 · 793 阅读 · 0 评论 -
四子连线(类似五子棋)
这道题和小北上道题一样,都是温油的java老师留下来的课后作业首先小北说一下游戏规则:在一个10×10的棋盘上,有红方和黄方,两个人下棋,每个人只能选择下在哪一列,意思就是说,如果board[i][j]没有下子(为空)的话,board[i-1][j]就不能下子,从棋盘的最后一行开始下,哪一方先下到四个棋子横,四个棋子竖,四个棋子斜(包括左斜和右斜)都算成功。package Chess...原创 2018-11-14 17:42:24 · 1463 阅读 · 0 评论 -
CAS算法
【1】什么是CAS算法? CAS算法概述:CAS:Compare and Swap比较再交换 在JDK1.5中增加了并发包java.util.concurrent.*,其中的类使用了CAS算法来实现区别于synchronized关键字保证同步的乐观锁。同时也将synchronized同步锁相应的称为悲观锁,也是独占锁。 CAS是一种硬件对并发的支持,...原创 2018-11-20 20:37:06 · 273 阅读 · 0 评论 -
深夜深入理解快速排序(含每一步排序过程)
嗷嗷嗷今天晚上看面经的时候刷到了快排,就把快排的具体细节实现来分享一下:public class 快排 { public static void main(String[] args) { int[] a = {12,20,5,16,15,1,30,45,23,9}; int left=0; int right=a.length-1;...原创 2019-03-04 00:54:15 · 1269 阅读 · 0 评论