初选择排序法与冒泡排序法

首先是关于冒泡 初学选择和冒泡容易混为一谈 其实不然 冒泡是双双动态的过程 以下为例子

 

public class MaoPao{

public static void main (String args[]) {

int x[]={10,51,4,65,23,8};

// 设置临时变量,方便后面进行数值交换

int temp;

// 开始循环比较每一个值

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

// 每一个值都与他后面的值相比,因为在他前面的都是比他大的,第一个值前面没有值就暂时认为他是最大的

for(int j=0;j<x.length-i;j++){

// 如果当前的值比它后面的值大就进行两个值的互换

if(x[j]<x[j+1]) {

// 把当前值放入临时变量中

temp=x[j];

// 当前值设置为后面的值

x[j]=x[j+1];

// 后面的值设置为临时变量中的值,这样就完成了两个值的互转

x[j+1]=temp;

}

}

// 重新打印排序后数组中的值

for(int i=0;i<x.length;i++)

System.out.print(x[i]+" ");

}

 

 

其次是较简单的选择排序法

选择排序法是由第一个数分别和第二个第三个等后面的数一一交换进行排序

 

 

public class XuanZe{

public static void main(String[] args){

int[] arr={2,345,111,1,34,5};

int temp=0;

int min=0;

for(int i=0;i<arr.length-1;i++){ //修改第1处,可选

min=i;

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

if(arr[min]>arr[j]) //修改第2处,必选

min=j;

}

if( min != i) { //修改第3处,可选

temp=arr[min];

arr[min]=arr[i];

arr[i]=temp;

}

}

System.out.println("排序后的数组为:");

for (int i=0;i<arr.length;i++){

System.out.print(arr[i]+" ");

}

}

}

 

总得来说

转载于:https://my.oschina.net/u/3820372/blog/1786985

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值