<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sshbaibai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sshbaibai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sshbaibai]]></copyright><item><title><![CDATA[排序算法-基数排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/110098422</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/110098422</guid><author>sshbaibai</author><pubDate>Tue, 24 Nov 2020 22:05:40 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 基数排序基本思想:
 *  只适合正整数
 *  将待排序序列的元素统一位数，位数较短的补0,然后从低位开始的排序。同一位上值相同的放入一个桶中
 *  每位放完，依次抽取每个桶中的元素放入原序列。再对下一位置排序
 *  循环次数为序列中最大值的长度
 */
public class RadixSortDemo {
    public static void main(String[] ar]]></description><category></category></item><item><title><![CDATA[排序算法-桶排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/110094791</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/110094791</guid><author>sshbaibai</author><pubDate>Tue, 24 Nov 2020 20:17:58 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 桶排序基本思想:
 *  计算出待排序序列的取值区间，然后将取值区间平均分为N个小取值区间（桶），例[0,5),[5,10),[10,15)
 *  然后将每个元素分配到每个桶中。再对每个桶的元素进行排序。
 *  最后将所有桶中元素移到原序列中
 */
public class BucketSortDemo {
    public static void main(String[] args]]></description><category></category></item><item><title><![CDATA[排序算法-计数排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/110006527</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/110006527</guid><author>sshbaibai</author><pubDate>Mon, 23 Nov 2020 20:15:52 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 计数排序基本思想:
 *  1、求出待排序序列最大值
 *  2、创建长度为最大值+1的计数数组
 *  3、遍历原数组，以原数组中元素的值为下标，元素出现次数为值填充计数数组
 *  4、遍历计数数组，将次数大于0的下标依次放入原数组中
 *  排序完成
 *
 */
public class CountSortDemo {
    public static void main(String]]></description><category></category></item><item><title><![CDATA[排序算法-归并排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109968596</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109968596</guid><author>sshbaibai</author><pubDate>Sun, 22 Nov 2020 23:37:35 +0800</pubDate><description><![CDATA[归并排序参考图

package com.test.sort;

import java.util.Arrays;

/**
 * 归并排序基本思想：
 *   归并排序分为两个阶段：
 *   第一阶段分：将待排序序列分为两个序列，再分别对两个序列再次分裂，直至分为一个最小单元，此时不可再分
 *   第二阶段治：将上面已经分割好的最小单元序列合并为一个有序序列，依次向上合并
 *   最终达到整个序列的排序目的
 */
public class MergeSortDemo {
    public st]]></description><category></category></item><item><title><![CDATA[排序算法-快速排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109640620</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109640620</guid><author>sshbaibai</author><pubDate>Thu, 12 Nov 2020 11:36:46 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 快速排序基本思想：
 *  选定一个元素的值作为中间值，一趟快速排序下来，比它小的放到左边，比它大的放入右边
 *  再分别对它左边和右边递归快速排序直至左边和右边的下标相等退出递归
 *
 */
public class QuickSortDemo {

    public static void main(String[] args) {
        int[] arr=new int]]></description><category></category></item><item><title><![CDATA[排序算法-希尔排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109633405</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109633405</guid><author>sshbaibai</author><pubDate>Wed, 11 Nov 2020 22:57:22 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 希尔排序基本思想：
 *  步长公式：k=arr.length/2或k=arr.length/3+1
 *  将待排序序列按相隔步长的元素分组，组内进行插入排序。所有分组排序完毕，按上面公式缩短步长再分组
 *  例：{1,0,9,12,8,4,6,2,3,10}按步长arr.length/2=5逻辑分组得到{1,4},{0,6},{9,2},{12,3},{8,10}
 *  对各组插入排序得]]></description><category></category></item><item><title><![CDATA[排序算法-插入排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109632791</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109632791</guid><author>sshbaibai</author><pubDate>Wed, 11 Nov 2020 22:21:09 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 插入排序基本思想：{1,2,0}
 *  将待排序序列逻辑的分为左有序系列和右无序序列，不断从无序序列中取出元素与有序序列中的元素依次比较
 *  寻找合适位置插入
 *  初始假定有序序列为arr[0],只有一个元素
 *  
 */
public class InsertSortDemo {
    public static void main(String[] args) {
     ]]></description><category></category></item><item><title><![CDATA[排序算法-选择排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109608473</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109608473</guid><author>sshbaibai</author><pubDate>Tue, 10 Nov 2020 22:04:00 +0800</pubDate><description><![CDATA[package com.test.sort;

import java.util.Arrays;

/**
 * 选择排序基本思想：
 * 第一轮从序列arr[0]~arr[n-1]中选择最小数，放入下标【0】
 * 第二轮从剩余的序列中arr[1]~arr[n-1]选择最小数，放入下标【1】
 * 依次类推，最后得到从小到大的序列
 */
public class SelectSortDemo {
    public static void main(String[] args) {
        i]]></description><category></category></item><item><title><![CDATA[排序算法-冒泡排序]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/109564436</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/109564436</guid><author>sshbaibai</author><pubDate>Sun, 08 Nov 2020 23:12:50 +0800</pubDate><description><![CDATA[冒泡排序

]]></description><category></category></item><item><title><![CDATA[java 23种设计模式 深入理解]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/86647722</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/86647722</guid><author>sshbaibai</author><pubDate>Fri, 25 Jan 2019 16:05:48 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/foryang/p/5849402.html

]]></description><category></category></item><item><title><![CDATA[oracle行转列]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/84069365</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/84069365</guid><author>sshbaibai</author><pubDate>Wed, 14 Nov 2018 16:46:27 +0800</pubDate><description><![CDATA[对列转行，行转列一直不太理解，写个demo记下

现有一个需求，我想统计出每月中各个产品的销量,需要展示的结果是这样的

而数据库里的表却是这种

select * from tb_order



显然不能满足需求，这时候就需要行转列了
先把tb_order每一条数据用decode函数处理

select t.yf,decode(t.cp,'苹果',t.sl) 苹果销量,decode(t.cp,...]]></description><category></category></item><item><title><![CDATA[oracle常用内置函数]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/84066482</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/84066482</guid><author>sshbaibai</author><pubDate>Wed, 14 Nov 2018 15:19:47 +0800</pubDate><description><![CDATA[



函数
说明




abs(n)
用于返回绝对值


mod(n1,n2)
求n1除以n2的余数


sign(n)
返回n的符号，n&amp;gt;0返回1，n=0返回0，n&amp;lt;0返回-1


ceil(n)
将n向上取整


floor(n)
将n向下取整


round(n,integer)
四舍五入 Integer是表示在数据第几位四舍五入。Integer正数表示小数点后位置，Inte...]]></description><category></category></item><item><title><![CDATA[oracle基本语法]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/84063241</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/84063241</guid><author>sshbaibai</author><pubDate>Wed, 14 Nov 2018 11:15:42 +0800</pubDate><description><![CDATA[oracle基本语法表空间操作权限授权普通用户之间互相授权撤销权限查看当前用户所有权限自定义函数存储过程触发器
表空间操作
--创建表空间
create tablespace spacename logging datafile 'e:\dbtest\abc.dbf' size 
32m autoextend on next 32m maxsize unlimited extent managem...]]></description><category></category></item><item><title><![CDATA[Android LinearLayout weight布局]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/82883117</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/82883117</guid><author>sshbaibai</author><pubDate>Fri, 28 Sep 2018 14:46:30 +0800</pubDate><description><![CDATA[假设屏幕宽度为 X

  第一次   确定屏幕宽度 控件1为x 控件2为x 控件3为x

  第二次  确定剩余空间 a=x-x-x-x= - 2x 手机的宽度减去空间的宽度=剩余空间

控件的宽度=控件的宽度+（当前控件的权重/设置的权重总值）*剩余的空间

x+1/5*-2x=3/5x...]]></description><category></category></item><item><title><![CDATA[javaweb之javax.servlet.Filter（过滤器）]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/81865668</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/81865668</guid><author>sshbaibai</author><pubDate>Mon, 20 Aug 2018 10:03:34 +0800</pubDate><description><![CDATA[



Filter接口有三个方法：实现类必须必须重写这三个方法

  初始化时调用init(FilterConfig arg0)：对filtername和filterclass进行处理，此方法只执行一次

    初始化ApplicationFilterConfig[name=testFilter, filterClass=com.test.TestFilter]

拦截请求时调用doFilte...]]></description><category></category></item><item><title><![CDATA[验证码]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/81664461</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/81664461</guid><author>sshbaibai</author><pubDate>Tue, 14 Aug 2018 11:55:29 +0800</pubDate><description><![CDATA[import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import j...]]></description><category></category></item><item><title><![CDATA[jsp页面、图片轮播]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/81316320</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/81316320</guid><author>sshbaibai</author><pubDate>Tue, 31 Jul 2018 16:48:02 +0800</pubDate><description><![CDATA[&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dt]]></description><category></category></item><item><title><![CDATA[js语音播报]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/81283447</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/81283447</guid><author>sshbaibai</author><pubDate>Mon, 30 Jul 2018 13:25:48 +0800</pubDate><description><![CDATA[&amp;lt;embed&amp;gt;标签 放入object标签下支持ie、火狐 语音格式MP3

&amp;lt;body&amp;gt;
    &amp;lt;object id=&quot;sound&quot;&amp;gt;&amp;lt;/object&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
        var div=document.getElementById(&quot;sound&]]></description><category></category></item><item><title><![CDATA[Ext之ComboBox下拉框]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/80533704</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/80533704</guid><author>sshbaibai</author><pubDate>Fri, 01 Jun 2018 10:14:26 +0800</pubDate><description><![CDATA[配置项：listData:下拉框中options的数据，一般为二维数组displayField:文本框显示的内容的字段名，类似标签&amp;lt;option&amp;gt;显示的内容&amp;lt;/option&amp;gt;例如：displayField: 1  //因为是数组，所以字段名就是下标。显示结果&amp;lt;option&amp;gt;刘一&amp;lt;/option&amp;gt;valueField:&amp;lt;option value=...]]></description><category></category></item><item><title><![CDATA[Ext call方]]></title><link>https://blog.youkuaiyun.com/sshbaibai/article/details/80533063</link><guid>https://blog.youkuaiyun.com/sshbaibai/article/details/80533063</guid><author>sshbaibai</author><pubDate>Fri, 01 Jun 2018 09:08:00 +0800</pubDate><description><![CDATA[call 方法 请参阅 应用于：Function 对象 要求 版本 5.5 调用一个对象的一个方法，以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数序列。 说明 call 方法可以用来代替另一个对象调用一个方法。ca...]]></description><category></category></item></channel></rss>