浅解冒泡排序与插入排序的区别

作为排序中的基础的冒泡排序与插入排序有什么不同,简单整理如下:

 

最后的顺序

比较方式

前提条件

冒泡排序

由小到大

比较相邻的两个数字

满足要求的同类型元素

插入排序

保持原来的顺序

元素依次与每个元素比较,直到满足条件为止

原来的数列是有序的


冒泡排序代码(java-eclipce):

public class Maopaopaixu {

public static void main(String[] args) {
// TODO Auto-generated method stub

int[] numberArr={7,2,9,1,6};
int intermediateVariable;
for (int i = 0; i < numberArr.length; i++) {
//如果第i个数比第i+1个数大,那么交换两个数字的位置
for(int j=0;j<numberArr.length-1;j++){
if (numberArr[j]>numberArr[j+1]) {
intermediateVariable=numberArr[j];
numberArr[j]=numberArr[j+1];
numberArr[j+1]=intermediateVariable;
}
}
}
System.out.print("最后结果:\t");
for (int i = 0; i < numberArr.length; i++) {
System.out.print(numberArr[i]+"\t");
}
}
}


插入排序(java-eclipce):

package Paixv;
public class ChaRuPaiXv { //插入排序
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] shuLieArr={8,0,3,5,6,5};//定义原数组
int[] resultArr=new int[shuLieArr.length];//接收返回数组
ChaRuPaiXv method=new ChaRuPaiXv();//声明实例
resultArr=method.ChaRuPaiXvArr(shuLieArr);
for (int i = 0; i < resultArr.length; i++) {
System.out.print(resultArr[i]+"\t");
}
}//主方法
//方法
public int[] ChaRuPaiXvArr(int[] shuLieArr){ //插入排序方法
int exchange;
for (int i = 0; i < shuLieArr.length-1; i++) {
exchange=shuLieArr[i+1];
for (int j = i+1; j >0; j--) {
if(exchange<shuLieArr[j-1]){
shuLieArr[j]=shuLieArr[j-1];
shuLieArr[j-1]=exchange;
}
}
}
return shuLieArr;
}//方法结束
}

 

如有漏洞之处,还望轻喷!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37335810

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值