文档详情

java中几种简单的排序.doc

发布:2017-06-08约2.71千字共7页下载文档
文本预览下载声明
/** 大家好,我现在正在学习java,虽然在这之前我已经学习过一遍了,但是现在再重新来学,才发现以前学的太肤浅了,而且学的质量也很不好,所以,现在我又重新站在了新的起跑线上,开始了我的java学习之旅,喜欢java的朋友和想学习java的朋友来和我一起前进吧。我会及时的把自己学的一些东西总结出来,并传送到文库中和大家一起分享的。 所以Make The Change的时候到了,Everyone,Come On! (我的QQ号jiaziming1990@,愿意交流的同学可以加我呦) Java中的几种排序方法:冒泡排序,选择排序,插入排序和快速排序。下面是我当初开始学java时的一些源代码,简单易懂,拿出来分享给大家,希望对刚接触java的人能够有所帮助。 在此,也和大家共勉一下:相信自己,用心学习,大胆创新! */ /1.*首先是冒泡排序,冒泡排序的思想是:数组中的相邻的两个数进行比较,如果后面的数比前面的数大,则两个数进行交换,每完成一次循环,最大的那个数就排在了最后面;以此类推,在第n-1次循环后,数组中的n个数就排好了。下面是源代码 */ public class BubbleSort{ public static void main(String[] args){ int[] arr1={3,5,7,6,4,8,2,1}; for(int i=0;iarr1.length;i++){ System.out.print(arr1[i]); } for(int i=0;iarr1.length-1;i++){ for(int j=0;jarr1.length-1-i;j++){ if(arr1[j]arr1[j+1]){ int temp=arr1[j]; arr1[j]=arr1[j+1]; arr1[j+1]=temp; } } } System.out.println(); for(int i=0;iarr1.length;i++){ System.out.print(arr1[i]); } } } /*2.其次是选择排序.选择排序的思想是记录下数组中最小的那个数的下标,然后与第一个数进行交换,以此类推,直到排好序为止。下面是源代码 */ public class ChoiceSort{ public static void main(String[] args){ int[] arr={9,7,4,1,2,6,8,3,5}; for(int i=0;iarr.length;i++){ System.out.print(arr[i]); } //排序 for(int i=0;iarr.length-1;i++){ int index=selectMin(arr,i); swap(arr,i,index); } System.out.println(); for(int i=0;iarr.length;i++){ System.out.print(arr[i]); } } //找到最小的数的下标 public static int selectMin(int[] arr,int index){ int min=arr[index]; int mIndex=index; for(int i=index+1;iarr.length;i++){ if(arr[i]min){ min=arr[i]; mIndex=i; } } return mIndex; } //两个数进行交换 public static void swap(int[] arr,int x,int y){ int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } /*3.然后是插入排序。插入排序的基本思想是:新建一个数组,将需要排序的数组的第一个元素先放到新数组中去,然后把剩下的元素有序的、依次插入到新数组中去。下面是源代码 */ public class InsertSort{ public static void main(String[] args){ int[] arr1={3,2,1,5,4,8,6,9,7}; int[] arr2=new int[arr1.length]; arr2[0]=arr1[0]; for(int i=0;iarr1.length;i++){ System.out.print(arr1[i
显示全部
相似文档