heting
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
40 随笔 :: 9 文章 :: 45 评论 :: 0 Trackbacks
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
c#范例(4)
(rss)
java范例
(rss)
js(3)
(rss)
linux(1)
(rss)
WebSphere(1)
(rss)
数据库(3)
(rss)
随笔档案
2010年10月 (1)
2010年8月 (5)
2010年3月 (2)
2009年11月 (2)
2009年9月 (1)
2009年8月 (1)
2009年7月 (2)
2009年5月 (1)
2009年4月 (3)
2009年3月 (4)
2009年2月 (1)
2009年1月 (3)
2008年12月 (2)
2008年11月 (7)
2008年10月 (4)
2008年9月 (1)
文章档案
2008年9月 (9)
搜索
最新评论
1. re: struts2+freemarker中防止表单的重复提交token
@51互联云-济南程序猿
你什么都不懂,瞎说
--人
2. re: struts2+freemarker中防止表单的重复提交token
没关系,大家好,什么都没有
--人
3. re: struts2+freemarker中防止表单的重复提交token
套头
--人
4. re: struts2+freemarker中防止表单的重复提交token
评论内容较长,点击标题查看
--51互联云-济南程序猿
5. re: struts1文件上传和下载
评论内容较长,点击标题查看
--zuidaima
阅读排行榜
1. struts1文件上传和下载(21124)
2. javax.naming.CommunicationException 的一个相关异常(已解决)(11540)
3. 自己写的一个c#winform打印类(8474)
4. C# 与 C++ 数据类型比较及结构体转换 (7199)
5. WebSphere7.0 上部署struts2 找不到用于处理 JSP 的扩展处理器(2967)
评论排行榜
1. struts1文件上传和下载(23)
2. 自己写的一个c#winform打印类(8)
3. struts2+freemarker中防止表单的重复提交token(6)
4. Ireport在浏览器中的显示代码(2)
5. EJ3.0将EJB程序和WEb程序发布到weblogic10.3是出现的错误weblogic.wsee.async.AsyncResponseBean(2)
JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法
JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是插入法的改进.所以从根本上来说可以归纳为两种不同的排序方法:即:插入法&冒泡法
一插入法:遍历排序集合,每到一个元素时,都要将这个元素与所有它之前的元素遍历比较一遍,让符合排序顺序的元素挨个移动到当前范围内它最应该出现的位置。交换是相邻遍历移动,双重循环控制实现.这种排序法属于地头蛇类型,在我的地牌上我要把所有的东西按一定的顺序规整,过来一个,规整一个.
处理代码如下:
public
void
sort(
int
[] data)
{
int
temp;
for
(
int
i
=
1
; i〈data.length; i
++
)
{
for
(
int
j
=
i; (j〉
0
)
&&
(data[j]〉data[j
-
1
]); j
--
)
{
temp
=
date[j];
data[j]
=
data[j
-
1
];
data[j
-
1
]
=
temp; }
}
}
二冒泡法:比较容易,它的内层循环保证遍历一次后,集合中最小(大)元素出现在它的正确位置,下一次就是次小元素。。。该方法在集合分布的各种情况下交换移动的次数基本不变,属于最慢的一种排序。实现也是双重循环控制。这种排序法属于过江龙,就是要找到极端,但是过奖龙也有大哥,二哥等,所以他们只能是大哥挑了二哥挑.
处理代码如下:
public
static
int
[] maopao(
int
[] data)
{
int
temp;
for
(
int
i
=
0
; i〈data.length
-
1
; i
++
)
{
for
(
int
j
=
i
+
1
; j〈data.length; j
++
〉
{
if
(data[i]〈data[j]〉
{
temp
=
data[i];
data[i]
=
data[j];
data[j]
=
temp;
}
〉
〉
return
data;
三选择法:该方法只是通过遍历集合记录最小(大)元素的位置,一次遍历完后,再进行交换位置操作,类似冒泡,但在比较过程中,不进行交换操作,只记录元素位置。一次遍历只进行一次交换操作。这个对与交换次序比较费时的元素比较适合。这种排序法比冒泡法要城府要深的多,我先记住极端数据,待遍历数据完了之后, 我再处理,不像冒泡法那样只要比自己极端一点的就要处理,选择法只处理本身范围内的最极端数据.
public
static
void
xuanze(
int
[] data)
{
int
temp;
for
(
int
i
=
0
; i 〈 data.length; i
++
〉
{
int
lowIndex
=
i;
for
(
int
j
=
data.length
-
1
; j ) i; j
--
)
{
if
(data[j] ) data[lowIndex])
{
lowIndex
=
j;
}
}
temp
=
data[i];
data[i]
=
data[lowIndex];
data[lowIndex]
=
temp;
}
}
四 Shell排序:
它是对插入排序的一种改进,是考虑将集合元素按照一定的基数划分成组去排序,让每一组在局部范围内先排成基本有序,最后在进行一次所有元素的插入排序。
public
void
sort(
int
[] data)
{
for
(
int
i
=
data.length
/
2
; i)
2
; i
/=
2
)
{
for
(
int
j
=
0
; j〈i; j
++
〉
{
insertSort(data,j,i);
}
〉
insertSort(data,
0
,
1
);
〉
private
void
insertSort(
int
[] data,
int
start,
int
inc)
{
int
temp;
for
(
int
i
=
start
+
inc; i〈data.length; i
+=
inc〉
{
for
(
int
j
=
i; (j)
=
inc)
&&
(data[j]〈data[j
-
inc]〉; j
-=
inc〉
{
temp
=
data[j];
data[j]
=
data[j
-
inc]
data[j
-
inc]
=
temp;
}
〉
〉
posted on 2009-04-03 09:51
贺挺
阅读(328)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 贺挺