- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(Java经典排序集合
package sort;
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。
*
* 关于排序方法的选择: (1)若n较小(如n≤50),可采用直接插入或直接选择排序。
* 当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
* (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜;
* (3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。
*
*/
/**
* @corporation 北京环亚
* @author HDS
* @date Nov 19, 2009 10:43:44 AM
* @path sort
* @description JAVA排序汇总
*/
public class SortTest {
// //////==============================产生随机数==============================///////////////////
/**
* @description 生成随机数
* @date Nov 19, 2009
* @author HDS
* @return int[]
*/
public int[] createArray() {
Random random = new Random();
int[] array = new int[10];
for (int i = 0; i lt; 10; i++) {
array[i] = random.nextInt(100) - random.nextInt(100);// 生成两个随机数相减,保证生成的数中有负数
}
System.out.println(==========原始序列==========);
printArray(array);
return array;
}
/**
* @description 打印出随机数
* @date Nov 19, 2009
* @author HDS
* @param data
*/
public void printArray(int[] data) {
for (int i : data) {
System.out.print(i + );
}
System.out.println();
}
/**
* @description 交换相邻两个数
* @date Nov 19, 2009
* @author HDS
* @param data
* @param x
* @param y
*/
public void swap(int[] data, int x, int y) {
int temp = data[x];
data[x] = data[y];
data[y] = temp;
}
/**
* 冒泡排序----交换排序的一种
* 方法:相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其他的数进行类似操作。
* 性能:比较次数O(n^2),n^2/2;交换次数O(n^2),n^2/4
*
* @param data
* 要排序的数组
* @param sortType
* 排序类型
* @return
*/
public void bubbleSort(int[] data, String sortType) {
if (sortType.equals(asc)) { // 正排序,从小排到大
// 比较的轮数
for (int i = 1; i lt; data.length; i++) { // 数组有多长,轮数就有多长
// 将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j lt; data.length - i; j++) {// 每一轮下来会将比较的次数减少
if (data[j] gt; data[j + 1]) {
// 交换相邻两个数
swa
您可能关注的文档
- (汽车防撞梁的功能和技术解析.doc
- (国际贸易主要经济措施的经济效应分析 .ppt
- (VB程序设计论文.doc
- (IDE双硬盘安装图解.doc
- (汽车陶瓷零部件创新检测中心建设项目计划书A.doc
- (vb综合练习.doc
- (IDE转USB.doc
- (汽车零部件检测标准.doc
- (iDRAC配置手册.docx
- (汽车零部件检测测试标准.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 第12课 新文化运动 课件(23张PPT).pptx
- 机载临时支护装置安装使用说明书.docx
- 中国基本国情教案(汉语国际教育).docx
- 人教版数学二年级上册第五单元《观察物体(一)》大单元整体教学设计.doc
- 第2章 直线与圆的位置关系 复习课.doc VIP
- 中职学校《金属加工与实训》全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件( word 版).docx
- 程家惠《洋话汉音》(升级版).doc
- onbon仰邦科技 六代三基色控制器 BX-6K系列 规格书 本压缩包包含BX-6K1、6K2、 6K3、6K4-T08、6K4-T12 5个产品的规格书。说明书用户手册.pdf
- 职业生涯规划书ppt职业生涯规划书ppt.ppt
- 卡拉OK数码功放KMA-1080KMA-980中文使用说明书.pdf
文档评论(0)