1.冒泡排序 从第一个开始,与第二个比,大的放后面,小的放前面。。。再从第二个开始,大的放后面
,小的放前面。。。依次比较,最后可以将最大的放到最后。 然后再从头开始,直到第二大的到倒数第
二个。像这样依次比较,每次都把大的数向后移就像冒泡一样。所以称之为冒泡排序。
public static void main(String[] args){
int[] arr = {10,8,110,50,22,60,50,3};
int temp;
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i:arr){
System.out.print(i+" ");
}
}
2.选择排序 选择排序是不稳定的,一般不推荐使用。从第一个数开始依次与第二个,第三个,...最后
一个比。每次把小的放在第一个。第二趟是从第而个开始依次与第三个..最后一个比。把最小的放在第二
个。依次这样比较。
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
,小的放前面。。。依次比较,最后可以将最大的放到最后。 然后再从头开始,直到第二大的到倒数第
二个。像这样依次比较,每次都把大的数向后移就像冒泡一样。所以称之为冒泡排序。
public static void main(String[] args){
int[] arr = {10,8,110,50,22,60,50,3};
int temp;
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i:arr){
System.out.print(i+" ");
}
}
2.选择排序 选择排序是不稳定的,一般不推荐使用。从第一个数开始依次与第二个,第三个,...最后
一个比。每次把小的放在第一个。第二趟是从第而个开始依次与第三个..最后一个比。把最小的放在第二
个。依次这样比较。
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}