黑马程序员技术交流社区
标题:
冒泡排序&选择排序(图解分析+代码实现)
[打印本页]
作者:
anyway1919
时间:
2015-9-8 00:36
标题:
冒泡排序&选择排序(图解分析+代码实现)
j.png
(24.59 KB, 下载次数: 2)
下载附件
2015-9-8 00:32 上传
/*
规律:相邻元素比较,如果符合条件换位。
第一圈后最大的元素跑到了最右边,第一圈总共有数组的长度-1个元素参与比较
第二圈比较时少了一个元素参与比较,次大的出现在倒数第二的位置
一次类推,共需要比较数组长度length-1次!
代码实现:
*/
package com.itheima.sh.demo;
public class BubbleSort{
public static void main(String [] args){
int []arr = {2,8,5,7,14,6};
System.out.println("排序之前:");
printArray(arr);
bubbleSort(arr);
System.out.println("排序之后:");
printArray(arr);
} //定义功能:冒泡排序
public static void bubbleSort(int []arr){
for(int i=0;i<arr.length-1;i++){
for(int j =0;j<arr.length-i-1;j++){//-i让每次参与的元素少一个;-1避免角标越界
//相邻元素比较
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
} //定义功能,打印数组
public static void printArray(int [] arr){
for(int i =0;i<=arr.length-1;i++){
System.out.print("arr["+i+"]="+arr
+"\t");
}
System.out.println();
}
}
2,选择排序
j.png
(20.95 KB, 下载次数: 2)
下载附件
2015-9-8 00:35 上传
/*
规律:第一圈0角标位上的值依次和后面的元素比较,第一圈结束时最小值出现在最左边;比较的次数数数组的长度-1(按照正序排列)
第二圈1角标位上的值依次和后面元素比较,第二圈结束时,第二小的元素出现在1角标位置上。
。。。。。。
代码实现:
*/
package com.itheima.sh.demo;
public class SelectSortDemo {
public static void main(String[] args) {
// 定义一个整形数组、
int [] arr = {9,6,4,1,8,7};
System.out.println("排序之前:");
printArray(arr);
selectSort(arr);
System.out.println("排序之后:");
printArray(arr);
}
//定义功能
public static void selectSort(int []arr){
for (int i = 0; i < arr.length; i++) {
//j =i+1保证每次循环开始,第一个元素都会和下一个元素比较,而不是和自己比较
for (int j =i+ 1; j < arr.length; j++) {
if (arr
>arr[j]) {
int temp =arr
;
arr
= arr[j];
arr[j] = temp;
}
}
}
}
//定义打印功能
public static void printArray(int [] arr){
for(int i =0;i<=arr.length-1;i++){
System.out.print("arr["+i+"]="+arr
+"\t");
}
System.out.println();
}
}
作者:
zx0210
时间:
2015-9-8 00:57
老毕的视频里面有很详尽的讲解,总结出来随时都可以查阅,很赞!
作者:
kevin986745
时间:
2015-9-8 07:59
学习了,还是很详细的!
作者:
michael_wlq
时间:
2015-9-8 09:09
不错,记录下可以方便以后查阅
作者:
纳木错的程序猿
时间:
2015-9-8 09:23
经典的问题记录下,这样的方法不错,值得借鉴
作者:
yangshibai
时间:
2015-9-8 15:08
多谢分享
作者:
迷茫不堪的年纪
时间:
2015-9-8 16:38
我的赶紧学了, 搞得现在有的东西看不懂了
作者:
changyunyun
时间:
2015-9-8 16:46
学习学习
作者:
小二儿
时间:
2015-9-8 18:21
有图有总结有代码,很不错哦,加油
作者:
a80C51
时间:
2015-9-8 18:39
挺好的资料。学习下。。。。。
作者:
洋葱头头
时间:
2015-9-8 18:53
吓的我赶紧学习了一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2