排序 没事练习

Posted 沐松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序 没事练习相关的知识,希望对你有一定的参考价值。

package com.taotao.api;

import org.apache.commons.lang3.StringUtils;
import org.junit.Test;

import java.util.Arrays;
import java.util.List;

public class SortTest2 {


    @Test
    public void sortInsert() {

        int[] array = new int[5];

        array[0] = 2;
        array[1] = 1;
        array[2] = 4;
        array[3] = 5;
        array[4] = 1;

        for (int i = 0; i < array.length; i++) {
            //查找合适位置
            int point = i;
            for (int j = 0; j < i; j++) {
                if (array[i] < array[j]) {
                    point = j;
                    break;
                }
            }
            if (i == point) continue;

            int temp = array[i];
            //序列后移
            for (int j = i; j > point; j--) {
                array[j] = array[j - 1];
            }
            //赋值合适位置
            array[point] = temp;
        }

        for (int i : array) {
            System.out.print(i);
        }

    }

    @Test
    public void sortQuick() {
        List<Integer> list = Arrays.asList(25, 10, 22, 30, 45, 53, 12, 43);
        quick(list, 0, list.size() - 1);
    }

    private void quick(List<Integer> list, int left, int right) {

        int head=left;
        int tail=right;

        Integer temp = list.get(head);
        while (head < tail) {
            while (head < tail && list.get(tail) >= temp) tail--;
            if (head != tail) {
                list.set(left, list.get(tail));
            }

            while (head < tail && list.get(head) <= temp) head++;
            if (head != tail) {
                list.set(tail, list.get(head));
            }
        }
        if (head == tail) list.set(head, temp);

        System.out.println(StringUtils.join(list,","));

        if (left > right) return;

        if (left < head) {
            quick(list, left, head);
        }

        if (head + 1 < right) {
            quick(list, head + 1, right);
        }

    }
}

 

 

以上是关于排序 没事练习的主要内容,如果未能解决你的问题,请参考以下文章

基数排序

闲着没事做,用js做了一个冒泡排序的动画

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

从搜索文档中查找最小片段的算法?

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段