zoukankan
html css js c++ java
数据结构排序
数据结构基本知识
http://student.zjzk.cn/course_ware/data_structure/web/main.htm
排序实现:
//
选择排序算法
public
class
SelectionSorter
{
private
int
min;
public
void
Sort(
int
[] list)
{
for
(
int
i
=
0
; i
<
list.Length
-
1
; i
++
)
{
min
=
i;
for
(
int
j
=
i
+
1
; j
<
list.Length; j
++
)
{
if
(list[j]
<
list[min])
min
=
j;
}
int
t
=
list[min];
list[min]
=
list[i];
list[i]
=
t;
}
}
}
public
class
BubbleSorter
{
//
冒泡排序算法
public
void
Sort(
int
[] list)
{
int
i, j, temp;
bool
done
=
false
;
j
=
1
;
while
((j
<
list.Length)
&&
(
!
done))
{
done
=
true
;
for
(i
=
0
; i
<
list.Length
-
j; i
++
)
{
if
(list[i]
>
list[i
+
1
])
{
done
=
false
;
temp
=
list[i];
list[i]
=
list[i
+
1
];
list[i
+
1
]
=
temp;
}
}
j
++
;
}
}
}
//
希尔排序
public
class
ShellSorter
{
public
void
Sort(
int
[] list)
{
int
inc;
for
(inc
=
1
; inc
<=
list.Length
/
9
; inc
=
3
*
inc
+
1
) ;
for
(; inc
>
0
; inc
/=
3
)
{
for
(
int
i
=
inc
+
1
; i
<=
list.Length; i
+=
inc)
{
int
t
=
list[i
-
1
];
int
j
=
i;
while
((j
>
inc)
&&
(list[j
-
inc
-
1
]
>
t))
{
list[j
-
1
]
=
list[j
-
inc
-
1
];
j
-=
inc;
}
list[j
-
1
]
=
t;
}
}
}
}
//
插入排序
public
class
InsertionSorter
{
public
void
Sort(
int
[] list)
{
for
(
int
i
=
1
; i
<
list.Length; i
++
)
{
int
t
=
list[i];
int
j
=
i;
while
((j
>
0
)
&&
(list[j
-
1
]
>
t))
{
list[j]
=
list[j
-
1
];
--
j;
}
list[j]
=
t;
}
}
}
public
class
MainClass
{
//
测试
public
static
void
Main()
{
int
[] iArrary
=
new
int
[]
{
1
,
5
,
13
,
6
,
10
,
55
,
99
,
2
,
87
,
12
,
34
,
75
,
33
,
47
}
;
//
BubbleSorter sh = new BubbleSorter();
//
sh.Sort(iArrary);
//
ShellSorter sh = new ShellSorter();
//
sh.Sort(iArrary);
InsertionSorter sh
=
new
InsertionSorter();
sh.Sort(iArrary);
//
SelectionSorter sh = new SelectionSorter();
//
sh.Sort(iArrary);
for
(
int
m
=
0
; m
<
iArrary.Length; m
++
)
Console.Write(
"
{0}
"
, iArrary[m]);
Console.WriteLine();
}
}
后记:
冒泡是不断的把小的数向前移
选择是每次取最小的,然后向已经排好的部分最后添加
插入是把下一个数插入到已经排好的序列中的合适位置
查看全文
相关阅读:
Python的正则表达式
Python的异常处理
Python的类和对象
Python乘法口诀表
Python的文件操作
三层架构介绍和MVC设计模型介绍
spring的组件使用
IDEA使用maven搭建spring项目
Java集合——Collection接口
Java集合——概述
原文地址:https://www.cnblogs.com/xh831213/p/1212221.html
最新文章
(网页)Java程序员们最常犯的10个错误(转)
(网页)Java日志记录框架Logback配置详解(企业级应用解决方案)(转)
(后台)There is already 'jy.controller.jyadmin.JyDealerPackingReturnController' bean method
(其他)写项目,项目上线一段时间,发现代码出错了
(网页)logback的使用和logback.xml详解(转)
(网页)java中Collections.sort排序详解(转)
(网页)AngularJS中【Error: [$rootScope:inprog]】的解决办法(转)
(后台)详细了解java中的null(转)
mysql学习之 sql语句的技巧及优化
Mysql 学习之基础操作
热门文章
JMeter压力测试
linux下使用shell 自动执行脚本文件
python学习 异常
python学习 正则表达式
Nginx服务器之Nginx与tomcat结合访问jsp
Linux 服务器 安装 memcached
Nginx 服务器 之Nginx与tomcat实现负载均衡
Nginx服务器 之反向代理与负载均衡
Maven+SSM框架,实现单表简单的增删改查
Python的爬虫利器之urllib
Copyright © 2011-2022 走看看