冒泡排序法选择排序法插入排序法.docx

上传人:小飞机 文档编号:3314378 上传时间:2023-03-12 格式:DOCX 页数:7 大小:38.03KB
返回 下载 相关 举报
冒泡排序法选择排序法插入排序法.docx_第1页
第1页 / 共7页
冒泡排序法选择排序法插入排序法.docx_第2页
第2页 / 共7页
冒泡排序法选择排序法插入排序法.docx_第3页
第3页 / 共7页
冒泡排序法选择排序法插入排序法.docx_第4页
第4页 / 共7页
冒泡排序法选择排序法插入排序法.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《冒泡排序法选择排序法插入排序法.docx》由会员分享,可在线阅读,更多相关《冒泡排序法选择排序法插入排序法.docx(7页珍藏版)》请在三一办公上搜索。

1、冒泡排序法选择排序法插入排序法1.冒泡排序法 /* * 功能:冒泡排序法 * 思想:通过对待排序序列从后向前,依次比较相邻元素的排序码, * ,若发现逆序这交换,使得排序码较小的元素逐渐从后部移向前部 * 较小的单元,就像水底下的气泡一样逐渐向上冒。 * 作者:徐守威 */ package com.xushouwei; public class T4 /* * param args */ public static void main(String args) / TODO Auto-generated method stub int arr1=1,6,0,-1,9,-100,90; /开始排

2、序,创建一个Bubble类 Bubble bubble=new Bubble; bubble.sort(arr1); /输出最后结果 for(int i=0;iarr1.length;i+) System.out.print(arr1i+ ); /定义一个Bubble类 class Bubble /排序方法 public void sort(int arr) /第一层循环用来指定排序的次数 /定义一个临时变量来存放交换的值 int temp=0; for(int i=0;iarr.length-1;i+) /内层循环开始逐一比较,如果我们发现前一个数比后一个数大,这for(int j=0;ja

3、rrj+1) /交换位置 交换 temp=arrj; arrj=arrj+1; arrj+1=temp; 2.选择排序法 /* * 功能:选择排序法 * 思想:第一次从R0-RN-1中选取最小值,与R0交换,第二次从R1-RN-1中选取最小值,与R1交换, * 第三次从R2-RN-1中选取最小值,与R2交换.第i次从Ri-RN-1中选取最小值,与Ri-1交换, * 第n-1次从Rn-2-RN-1中选取最小值,与Rn-2交换,总共通过n-1次,得到一个按排序码从小到大排列的 * 有序序列。 * 作者:徐守威 */ package com.xushouwei; import java.util.*

4、; public class T5 /* * param args */ public static void main(String args) / TODO Auto-generated method stub int len=100000; int arr=new intlen; for(int i=0;ilen;i+) /让程序随机产生1-10000的数 /Math.random可以产生一个01的数 int t=(int)(Math.random*10000); arri=t; int arr1=1,6,0,-1,9,-100,90,10,15,-10; /开始排序,创建一个Selec

5、t类 Select select=new Select; /在排序前打印系统时间,getInstance表示得到一个实例 Calendar cal=Calendar.getInstance; System.out.println(排序前时间:+cal.getTime); select.sort(arr); /重新获得时间,相当于把时间刷新 cal=Calendar.getInstance; System.out.println(排序后时间:+cal.getTime); /输出最后结果 /*for(int i=0;iarr1.length;i+) System.out.print(arr1i+

6、); */ /定义一个Select类 class Select /选择排序 public void sort(int arr) /定义一个临时变量来存放交换的值 int temp=0; for(int j=0;jarr.length-1;j+) /假设第一个数是最小的 int min=arrj; /定义最小下标 int minIndex=j; for(int k=j+1;karrk) /修改 min=arrk; minIndex=k; /但退出内循环后就找到这次的最小值 temp=arrj; arrj=arrminIndex; arrminIndex=temp; 3.插入排序法 /* * 功能

7、:插入排序法 * 基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素, * 无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码 * 依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有 * 序表。 * 作者:徐守威 */ package com.xushouwei; public class T6 /* * param args */ public static void main(String args) / TODO Auto-generated method stub /定义需要排序的数组 int arr

8、1=1,6,0,-1,9,-100,90,10,15,-10; /开始排序,创建一个Select类 InsertSort insertsort=new InsertSort; /调用方法开始排序 insertsort.sort(arr1); /输出最后结果 for(int i=0;iarr1.length;i+) System.out.print(arr1i+ ); /定义一个InsertSort类 class InsertSort /插入排序法 public void sort(int arr) for(int i=1;i=0并且被插入的数=0&insertValarrindex) /将把arrindex向后移动一位 arrindex+1=arrindex; /让index向前移动一位 index-; /将insertVal插入到适当位置 arrindex+1=insertVal;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号