冒泡 选择 插入 希尔 快速 归并 堆排序
参考
八大排序算法总结
http://blog.csdn.net/yexinghai/archive/2009/10/10/4649923.aspx
基本排序算法比较与选择
http://blogger.org.cn/blog/more.asp?name=njucs&id=3950
起泡排序-也叫冒泡排序
http://roclinux.cn/?p=661
快速排序-最重要的排序算法
http://roclinux.cn/?p=566
直接插入排序-最简单的排序算法
http://roclinux.cn/?p=579
堆排序-来自锦标赛排序的灵感
http://roclinux.cn/?p=675
简单选择排序-最简单的选择排序
http://roclinux.cn/?p=671
快速排序:
- package test;
- import java.util.Random;
- public class A {
- public static void main(String[] args) throws Exception {
- Random random = new Random();
- int len = random.nextInt(1000);
- System.out.println("长度:" + len);
- int[] arr3 = new int[len];
- System.out.println("原始的数组:");
- for (int i = 0; i < len; i++) {
- arr3[i] = random.nextInt(10000);
- System.out.print(arr3[i]);
- System.out.print(",");
- }
- System.out.println("");
- long t3 = System.currentTimeMillis();
- arr3 = QuickSort2(arr3, 0, arr3.length - 1);
- long t4 = System.currentTimeMillis();
- System.out.println("用时毫秒:" + (t4 - t3));
- for (int a : arr3) {
- System.out.print(a);
- System.out.print(",");
- }
- }
- private static int[] QuickSort2(int[] arr, int start, int end) {
- if (start < end) {
- int i = start - 1;
- int j = end + 1;
- int key = arr[start];
- int temp;
- while (i != j && i + 1 != j) {
- if (key < arr[j - 1]) {
- j--;
- } else if (key > arr[i + 1]) {
- i++;
- } else {
- temp = arr[i + 1];
- arr[i + 1] = arr[j - 1];
- arr[j - 1] = temp;
- j--;
- i++;
- }
- }
- QuickSort2(arr, start, i);
- QuickSort2(arr, i + 1, end);
- }
- return arr;
- }
- }
冒泡排序
- final List<NsUploadVO> listvo = new ArrayList<NsUploadVO>();
- listvo .add(....略.....);
- listvo .add(....略.....);
- listvo .add(....略.....);
- for (int k = 0; k < listvo.size(); k++){
- for (int j = listvo.size() - 1; j > k; j--){
- final NsUploadVO vo_j = listvo.get(j);
- final NsUploadVO vo_k = listvo.get(j - 1);
- if (vo_j.getId() < vo_k.getId()){
- final NsUploadVO temp = vo_k;
- listvo.remove(j - 1);
- listvo.add(j - 1, vo_j);
- listvo.remove(j);
- listvo.add(j, temp);
- }
- }
- }
- public class NsUploadVO{
- private int id;
- private int code;
- private String title;
- private String fileName;
- private String info;
- private String bot_info;
- private String content; //正文
- set get方法略...
- }