欢迎来到天天文库
浏览记录
ID:34743689
大小:82.18 KB
页数:5页
时间:2019-03-10
《冒泡排序法、选择排序法、插入排序法(java案例详解)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.冒泡排序法/***功能:冒泡排序法*思想:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,*,若发现逆序这交换,使得排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标)*较小的单元,,就像水底下的气泡一样逐渐向上冒。*作者:徐守威*/packagecom.xushouwei;publicclassT4{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintarr1[]={1
2、,6,0,-1,9,-100,90};//开始排序,创建一个Bubble类Bubblebubble=newBubble();bubble.sort(arr1);//输出最后结果for(inti=0;i3、length-1;i++){//内层循环开始逐一比较,如果我们发现前一个数比后一个数大,这交换for(intj=0;jarr[j+1]){//交换位置temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}2.选择排序法/***功能:选择排序法*思想:第一次从R[0]-R[N-1]中选取最小值,与R[0]交换,第二次从R[1]-R[N-1]中选取最小值,与R[1]交换,*第三次从R[2]-R[N-1]中选取最小值4、,与R[2]交换...第i次从R[i]-R[N-1]中选取最小值,与R[i-1]交换,*第n-1次从R[n-2]-R[N-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的*有序序列。*作者:徐守威*/packagecom.xushouwei;importjava.util.*;publicclassT5{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintlen=1000005、;int[]arr=newint[len];for(inti=0;i6、.getInstance();System.out.println("排序前时间:"+cal.getTime());select.sort(arr);//重新获得时间,相当于把时间刷新cal=Calendar.getInstance();System.out.println("排序后时间:"+cal.getTime());//输出最后结果/*for(inti=0;i7、序publicvoidsort(intarr[]){//定义一个临时变量来存放交换的值inttemp=0;for(intj=0;jarr[k]){//修改min=arr[k];minIndex=k;}}//但退出内循环后就找到这次的最小值temp=arr[j];arr[j]=arr[minIndex];arr[minIn8、dex]=temp;}}}3.插入排序法/***功能:插入排序法*基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素,*无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码*依次与有序表元素的排序码进行比较,将它插入到有
3、length-1;i++){//内层循环开始逐一比较,如果我们发现前一个数比后一个数大,这交换for(intj=0;jarr[j+1]){//交换位置temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}2.选择排序法/***功能:选择排序法*思想:第一次从R[0]-R[N-1]中选取最小值,与R[0]交换,第二次从R[1]-R[N-1]中选取最小值,与R[1]交换,*第三次从R[2]-R[N-1]中选取最小值
4、,与R[2]交换...第i次从R[i]-R[N-1]中选取最小值,与R[i-1]交换,*第n-1次从R[n-2]-R[N-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的*有序序列。*作者:徐守威*/packagecom.xushouwei;importjava.util.*;publicclassT5{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintlen=100000
5、;int[]arr=newint[len];for(inti=0;i6、.getInstance();System.out.println("排序前时间:"+cal.getTime());select.sort(arr);//重新获得时间,相当于把时间刷新cal=Calendar.getInstance();System.out.println("排序后时间:"+cal.getTime());//输出最后结果/*for(inti=0;i7、序publicvoidsort(intarr[]){//定义一个临时变量来存放交换的值inttemp=0;for(intj=0;jarr[k]){//修改min=arr[k];minIndex=k;}}//但退出内循环后就找到这次的最小值temp=arr[j];arr[j]=arr[minIndex];arr[minIn8、dex]=temp;}}}3.插入排序法/***功能:插入排序法*基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素,*无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码*依次与有序表元素的排序码进行比较,将它插入到有
6、.getInstance();System.out.println("排序前时间:"+cal.getTime());select.sort(arr);//重新获得时间,相当于把时间刷新cal=Calendar.getInstance();System.out.println("排序后时间:"+cal.getTime());//输出最后结果/*for(inti=0;i7、序publicvoidsort(intarr[]){//定义一个临时变量来存放交换的值inttemp=0;for(intj=0;jarr[k]){//修改min=arr[k];minIndex=k;}}//但退出内循环后就找到这次的最小值temp=arr[j];arr[j]=arr[minIndex];arr[minIn8、dex]=temp;}}}3.插入排序法/***功能:插入排序法*基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素,*无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码*依次与有序表元素的排序码进行比较,将它插入到有
7、序publicvoidsort(intarr[]){//定义一个临时变量来存放交换的值inttemp=0;for(intj=0;jarr[k]){//修改min=arr[k];minIndex=k;}}//但退出内循环后就找到这次的最小值temp=arr[j];arr[j]=arr[minIndex];arr[minIn
8、dex]=temp;}}}3.插入排序法/***功能:插入排序法*基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素,*无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码*依次与有序表元素的排序码进行比较,将它插入到有
此文档下载收益归作者所有