算法
文章平均质量分 68
昌汉明
这个作者很懒,什么都没留下…
展开
-
JAVA实现插入排序
废话不多说,代码里有注释public class insert{/*** 插入排序* 插入排序总是将当前值与前一个值进行比较,遍历是从数组的第二个数开始的* 用一个指针i指示前一个数值,循环的条件是i>0与前一个值大于后一个值* 则交换前后两个值,* i--* @param a*/public void insertSort(int a[]){原创 2015-01-07 16:38:23 · 341 阅读 · 0 评论 -
JAVA 实现快速排序(递归)
这是递归版本package quicksort;/** * 快速排序 * 也是分成两个数组,跟中间的数进行比较,左边得都小于等于中间数,且小于等也右边的数,右边的数大于等于中间的数 * 思路是让数组的第一个到倒数第二个数与最后一个数进行比较 * 若 * 最后循环完后交换array[i+1]与数组最后一个数 */public class QuickSort{原创 2015-01-07 16:42:22 · 487 阅读 · 0 评论 -
JAVA实现冒泡排序
这是冒泡排序比较简单的版本,public class bubbleSort2{ public void Bubble(int[] array) {for (int i = 0; i {for (int j = 0; j {if (array[j]>array[j+1]){int tmp = array[j];array[j] = array[原创 2015-01-07 16:32:34 · 344 阅读 · 0 评论 -
JAVA 实现选择排序
废话不多说,代码里有注释public class selectSort2{ public int[] select(int[] array) {int max=0;for (int i = 0; i {max = i;//默认最大数的位置for (int j = i+1; j {if (array[max]{max = j; //获取最大数的位原创 2015-01-07 16:36:14 · 328 阅读 · 0 评论 -
编程珠玑里的日期函数
编程珠玑第三章里有个问题是计算两个给定日子相差的天数;给定某个日期,判断它是星期几,或者说属于一周中的第几天;给定某年某月,打印这个月历我用JAVA简单实现了一下。 这里有几个关键的问题:要打印这个月历必须知道1、这个月的第一天是星期几;2、这个月共有几天; 对于问题1:可以直接使用JAVA里的Calendar类;我这里使用另外一种方法:已知1800年1月1日是星期3。原创 2015-01-27 16:57:29 · 421 阅读 · 0 评论 -
用JAVA实现广度优先搜索
深度优先与广度优先搜索代码实现很相似,前者是利用了栈这种数据结构;而后者是利用了队列这种数据结构。下面看看广度优先搜索代码是怎么实现的/*****************************广度优先***********************************/ 基本思路:1、找到初始结点,标记,入队; 2、找到与初始原创 2015-01-13 17:41:49 · 531 阅读 · 0 评论 -
用JAVA实现深度优先搜索
深度优先与广度优先搜索代码实现很相似,前者是利用了栈这种数据结构;而后者是利用了队列这种数据结构。下面看看代码是怎么实现的/*****************************深度优先***********************************/ 基本思路: 1、找到初始结点,标记,然后入栈; 2、找到和初始原创 2015-01-13 17:14:37 · 2263 阅读 · 0 评论 -
JAVA实现快速排序(非递归)
非递归实现时借助栈,package sort;import java.util.Stack;public class Sort{/* * 非递归版本 */ public void quick2(int[] array){ if (array == null || array.length == 1) return ; //存放开始与结束索引原创 2015-01-07 16:45:13 · 831 阅读 · 0 评论