冒泡排序和选择排序是排序算法中比较简单和容易实现的算法。冒泡排序的思想为:每一次排序过程,通过相邻元素的交换,将当前没有排好序中的最大(小)移到 数组的最右(左)端。而选择排序的思想也很直观:每一次排序过程,我们获取当前没有排好序中的最大(小)的元素和数组最右(左)端的元素交换,循环这个过 程即可实现对整个数组排序。 选择排序的平均时间复杂度比冒泡排序稍高
前期准备工作(包括相关工具或所使用的原料等)myeclipse或eclipse 详细的操作方法或具体步骤
打开myeclipse工具,新建一个工程,并新建一个包,在该包下新建一个类。
注意类名首字母必须大写,这是java代码的命名规范。

在该Demo1类下,写一个静态的select()方法。用来写选择排序的方法。参数为 需要排序的整数数组。
代码:public static void select(int[] arr) { for (int x=0; x < arr.length; x++) { for (int y=x + 1; y < arr.length; y++) { if (arr[x] > arr[y]) { int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } System.out.println("排序过后的数:"); for (int i=0; i < arr.length; i++) { System.out.println(arr[i]); } }

在该Demo1类下,写一个静态的maopao()方法。用来写冒泡排序的方法。参数为 需要排序的整数数组。
代码: public static void maopao(int[] arr) { for (int x=0; x < arr.length; x++) { for (int y=0; y < arr.length - x - 1; y++) { if (arr[y] > arr[y + 1]) { int temp=arr[y]; arr[y]=arr[y + 1]; arr[y + 1]=temp; } } } System.out.println("排序过后的数:"); for (int i=0; i < arr.length; i++) { System.out.println(arr[i]); } }

在主函数中调用maopao()方法。右键并点击 run as ,观察控制台上输出的结果,从小到大排序。

在主函数中调用select()方法。右键并点击 run as ,观察控制台上输出的结果,从小到大排序。

选择排序和冒泡排序的区别在于算法的实现不同,具体图解见下图。


注意事项注意 :选择排序和冒泡排序的区别,详见图中红色框标记中的内容。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
