摘要: 1.构造函数 Stack只有一个默认构造函数 Stack() Stack stack = new Stack(); 2.常用api (1)入栈:push() (2)取出栈顶元素,不执行删除:peek() (3)出栈、取出栈顶元素,并将该元素从栈中删除:pop() (4)判断栈是否为空:isEmpty(),返回值是boolean类型 阅读全文
posted @ 2019-04-01 20:41 源格 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList 解决方案:利用栈来完成 import java.util.ArrayList; import java.util.Stack; //利用栈stack public class TailToHead { public static void main(String[] args) { ListNode node... 阅读全文
posted @ 2019-04-01 20:28 源格 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 代码思路如下 阅读全文
posted @ 2019-04-01 17:26 源格 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 首先在未排序序列中找到最小的元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小的元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 第0次排序 首先认为4最小,然后依次比较 找到最小值1 由于是第0次排序,把找到的最小值1跟第0个数字交换位置 然后开始第1次排序,【再从未排序的数字中找到最小的值与第1个数字交换】 import java.u... 阅读全文
posted @ 2019-04-01 14:35 源格 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 希尔排序需要选择一个增量序列,通常选为数组长度/2 代码如下: 输出 阅读全文
posted @ 2019-04-01 08:44 源格 阅读(108) 评论(0) 推荐(0) 编辑