
算法
lemo_ice
这个作者很懒,什么都没留下…
展开
-
算法----选择排序ChoiceSort从无序的数组中找到最小的数放到有序数组的最后面
选择排序ChoiceSort每一次从带排序中选出一个最小的,放在已排序序列的后边public static int[] ChoiceSort(int[] array){ //需要进行多少轮比较 for (int i = 0; i < array.length - 1; i++) { int min = i; //从第i个后面开始比较,一直比较到最后找到最小的 f...原创 2019-08-30 21:13:08 · 348 阅读 · 0 评论 -
算法----递归(二分查找和汉诺塔)
二分查找(非递归):不用考虑数组长度是奇数还是偶数的问题 public int BinarySearchOne(int[] array, int target){ int low = 0; int high = array.length; //这里是while因为是非递归循环,所以要找完了才会跳出循环,里面用if做判断 while(low <= high){ in...原创 2019-08-30 21:12:55 · 164 阅读 · 0 评论 -
算法----插入排序InsertSort每一循环取一个元素插入到前面的有序数组中
public class InsertSort { public static int[] sort(int[] array){ int j; //从下标为1的元素开始选择合适的位置插入,因为下标为0的只有一个元素,默认是有序的 for(int i = 1 ; i < array.length ; i++){ //...原创 2019-08-30 21:33:58 · 193 阅读 · 0 评论 -
算法----翻转单链表
遍历反转发:遍历翻转法是从前往后翻转各个结点的指针域的指向。基本思路:将当前结点current的下一个结点current.next缓存到temp后如(1->2->3->4,当前结点是1,当前结点的下一个结点2缓存到temp中),然后更改当前结点指向上一个结点newhead(1指向null),也就是说在翻转当前结点的指针指向前,先把当前结点的指针域用temp临时保存。然后先前结点...原创 2019-09-05 10:40:10 · 234 阅读 · 0 评论 -
算法----归并排序(非递归和递归)非递归有点类似合并有序链表
/** * 传入两个有序数组a和b,返回一个排好序的合并数组 * */ public static int[] sort(int[] a, int[] b){ int[] c = new int[a.length + b.length]; //定义元素下标 int aNum = 0, bNum = 0, cNum = 0; while (aNum < a.l...原创 2019-09-09 15:58:26 · 263 阅读 · 0 评论 -
JAVA基础编程题
https://blog.youkuaiyun.com/wenzhi20102321/article/details/52274976【程序1】题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子的对数是多少?(这个就是找了多年的树杈问题:假设有一棵树没有树杈,长出新树杈三个月之后变成老树杈,老树杈每个月可长出一个新树杈)/**...原创 2019-09-24 17:58:55 · 253 阅读 · 0 评论