java集中排序_java中的各种排序

冒泡排序

分为从大到小和从小到大两种。

从大到小 每次把最小的冒到最后面

从小到大 每次把最大的冒到最后面(以这个为例)

从前往后比较 ,如果前面比后面小,就交换位置。

int[] but= {23,43,6,80,92,14,38};

for(int i=0;i

for(int j=0;j

if(but[j]>but[j+1]) {

int temp;

temp=but[j];

but[j]=but[j+1];

but[j+1]=temp;

}

}

}

选择排序

每次把最小的(或者最大的)元素放入已排序的集合中

一般先把第一个元素当成最小的元素

for(int i=0;i

int min=i;//记录当前位置

//找出最小的数,并把min指向它

for(int j=i;j

if(but[j]

min=j;

}

//交换最小的数but[min]和第i位数的位置

int temp=but[min];

but[min]=but[i];

but[i]=temp;

}

}

插入排序

对未排序的序列元素逐个插入,直到所有元素都插完

思想插入第i个时,前面的第1个到第i-1个都已经排好序,

用第i个跟前面的轮流比较,找到插入位置将第i个插入,原来位置及以后的全部后移一位。

int[] but= {12,32,56,7,4,98};

for (int i = 1; i < but.length; i++) {

int temp = but[i];

int j;

for ( j = i - 1; j >= 0 && but[j] > temp; j--) {

but[j + 1] = but[j];//后移一位

}

but[j + 1] = temp;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值