冒泡排序
原理:两位相邻的数字相互比较
时间复杂度:(n-1)(n-i)->O(n^2)
public class 冒泡 {
public static void main(String[] args) {
int[] a=new int[]{10,20,42,62,58,33,34,15,90,54};
int b=a.length;
for(int i=1;i<=b-1;i++){
for(int j=1;j<=b-i;j++){
if(a[j-1]>a[j]){
int t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
}
}
for (int c:a){
System.out.print(c+" ");
}
}
}
选择排序
原理:选择一位数字依次和其他的数字进行比较
时间复杂度:(n-1)(n-i)->(n^2)-(i+1)n+i->O(n^2)
public class 选择 {
public static void main(String[] args) {
int[] a=new int[]{40,20,42,62,58,33,34,15,90,54};
int b=a.length;
for(int i=1;i<=b-1;i++){
for(int j=0;j<=b-1;j++){
if(a[i]<a[j]){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(int c:a){
System.out.print(c+" ");
}
}
}
快速排序
原理:通过实现的一次排序,将需要排序的数据分割成独立的两个部分,一个部分中的数据比另一个部分的数据都要小,并对这两部分数据分别进行排序
排序算法
最新推荐文章于 2024-09-08 11:09:43 发布