您的位置:首页 > 其它

冒泡排序和选择排序

2014-05-14 22:03 260 查看
package test;
/**
* 常用的排序方法
* */
public class Sort {

//冒泡排序
public int[] bubbleSort(int[] array){

/**
* 思路:外层循环控制比较多少躺,内存循环控制每趟比较的次数
*     循环的躺数 = 数组元素的个数 - 1
*     比较的次数 = 数组元素的个数 - 1 - 循环的躺数(-1是防止数组脚标越界)
* */
for(int i = 0;i < array.length-1;i ++){
for(int j = 0; j < array.length - 1 - i;j ++){
if(array[j] > array[j+1]){
int temp = 0;
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}

return array;
}

//选择排序
public int[] selectSort(int[] array){
/**
* 思路:将一个数组分为有序区和无序区,用一个数记录无序区的第一个数的下表,用这个下标所对应的数与
*     无序区中的其他数进行比较,记录比较过程中最小的数的下标,在讲这个下标赋值给这个标记下标
* */
for(int i = 0;i < array.length;i ++){
int min = i;
for(int j = i + 1; j < array.length;j ++){
if(array[min] > array[j]){
min = j;
}
}
if(min != array[i]){
int tmp = array[min];
array[min] = array[i];
array[i] = tmp;
}
}

return array;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: