冒泡排序:
(1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
(2)java代码实现:
public class Bubblesort {
public static void main(String[] args) {
//定义一个要排序的数组
int arr[]={3,9,-1,10,20};
//定义一个中间变量,用来交换数据
int temp=0;
//定义一个boolean值,来判断是否排好序
boolean flag=false
//用双重for循环来遍历数组,我们通过连个数的不断交换,向冒泡泡一样,是数组完成排序
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-i-1;j++){
//用if语句来进行判断后一个数据是否大于前面的数据,如果大于就进行交换(这里演示的是升序,逆序的话只需要改动if判断语句)
if(arr[j]>arr[j+1]){
//进行数据交换
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
//用if来进行判断,如果数据没有发生交换,则数组已经排好了序
if(flag==flase){
break;}else{
flag==flase;
}
}
}
}