算法夕拾(09)--冒泡

原理

两两比对,调整顺序,比较n-1次

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void sort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j] < arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}

阅读更多

算法夕拾(08)--桶排序

原理

  1. 事先准备N个桶,每个桶代表从1到N的值。
  2. 将N-1个待排序数字,按照N桶的数字进行放入。
  3. 相同的桶放入了n次相同数字,则相应的桶的值为n。

阅读更多

算法夕拾(07)--链表

何谓链表

  • 在物理存储上非连续、非顺序的存储结构。
  • 数据之间通过指针关联。
  • data(数据)、next(指针)

阅读更多

算法夕拾(06)--用队列实现栈

方案

  1. 声明两个队列
  2. 入栈:向非空队列中put元素,如都为空,则随便选。
  3. 出栈:将非空中的lenth-1个元素put到另外一个队列中,出队最后一个元素。

阅读更多

算法夕拾(05)--用栈实现队列

用栈实现队列

方案1

此方案较为繁琐。

阅读更多

算法夕拾(04)--队列

队列特点

  • 一段连续的内存空间(存疑)
  • 先进先出
  • put(入队)、poll(出队)
  • 可由数组、链表实现

阅读更多

算法夕拾(03)--栈

栈的特点

  • 一段连续的内存空间
  • 先进后出
  • push(进栈)、pop(出栈)

阅读更多

算法夕拾(02)--集合、散列表

何谓集合

  • 基于数组的拓展,无长度限制。
  • 列表:有序集合。链表、队列、栈。使用数组实现。

阅读更多

算法夕拾(01)--数组

何谓数组

  1. 有限个同类型 的元素放在地址连续的内存中,以一个变量命名,通过序号进行访问指定元素。
  2. 使用前需要预估好长度,数组不能动态增长或者缩小。有余则费,不足无奈。

阅读更多

mac os 配置maven

下载maven

http://maven.apache.org/download.cgi

阅读更多