java简单排序方法总结

JAVA数组排序有好多种,以下简单对冒泡排序(bubble—srot)、插入排序(insertion-sort)、选择排序(selection-sort)加以描述。
由于JAVA数组声明书写的规范很灵活,导致经常会犯一些不起眼错误。


//冒泡排序
//冒泡排序方法
public int[] bubble_sort(int[] array){

for (int i=0;i<array.lengh-1;i++){ //注意:最后一个元素不用再和自己做比较
for (int j=i+1;j<array.lengh;j++){ //得到最后小数就把它放在
if (array[i]>array[j]){ //最左边
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}

return array; //返回已经排序后的数组
}

冒泡排序总结:数组是连续的不间断的一组数据,比较“第一趟”的时候,从数组最左端的数开始依次用这个数和“它”右边数作比较,如果发现有比它小的,立即交换,以保证在最左端的数还是最小的。接着比较“第二趟”的时候,以数组左端第二个数(此时左端的第一个数数已经是整个数组中最小的数了)开始重复上面的比较........直到比较到"array.lengh-1"趟,因为最后两个数比较出大小以后,最后一个数没有必要再和自己比较大小了。此时整个数组排序完毕!!!!数组从左至右数据从小到大。


//选择排序
//选择排序其实就是一个“贴标签”的过程
//选择排序方法
public int[] selection_sort(int[] array){
for (int i=0;i<array.lengh-1;i++){
//默认第i个数就是最小的数
int min_index = i;

for (int j=i+1;j<array.lengh;j++){
//找到比“默认”最小数还小的数的时候把“最小数的标签"贴在新的最小数背上
if (array[min_index]>array[j])
min_index = j;
}
//直到这一趟比较完所有数时,把最小数放到最左边,接着又来比较其他的数
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}

选择排序总结:排序的关键就是一个贴标签的过程,这个标签上印有"最小数"三个字,比较完一趟时把最小数放在最左边,接着比较下面的数,最后就达到理想的效果了。


//插入排序
//何所谓插入排序呢?新来新当兵,比试一番自见分晓,是骡子是马拉出来遛遛就知道了

public int[] insertion_sort(int[] array){

//每一次加入一个新数和原来已经排好序的数比较
for (int i=1;i<array.lengh;i++)
for (int j=i;j>0;j--){ //注意:避免数组越界

//因为在插入新数之前已经是有一部分排好顺序了,所以新数从右往左一旦找到比自己大的数就立即插进去就行了
if (array[j]<array[j-1])
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}


return array;
}


插入排序总结:新来新单兵。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值