您的位置:首页 > 编程语言 > Java开发

排序算法---1

2016-04-16 10:33 543 查看

排序算法---1


1、冒泡排序:


时间复杂度:O(n^2)    空间复杂度O(1)

public int[] bubbleSort(int[] A, int n) {
for(int i=A.length-1;i>0;i++){
for(int j=0;j<i;j++){
if(A[j]>A[j+1]){
int temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;
}
}
}
return A;
}


public int[] bubbleSort1(int[] A){
for(int i=0;i<A.length-1;i++){
for(int j=A.length-1;j>i;j--){
if(A[j-1]>A[j]){
int temp=A[j];
A[j]=A[j-1];
A[j-1]=temp;
}
}
}
return A;
}



2、选择排序  


时间复杂度:O(n^2)
   空间复杂度O(1)



public  int[] selectionSort(int[] A) {

for(int i=0;i<A.length-1;i++){
for(int j=i+1;j<A.length;j++){
if(A[i]>A[j]){
int temp=A[j];
A[j]=A[i];
A[i]=temp;
}
}
}
return A;
}


3、插入排序

时间复杂度:O(n^2)
   空间复杂度O(1)

public int[] insertionSort(int[] A) {
int index =0;
for(int i=1;i<A.length;i++){
index=i;
while(index>0){
if(A[index]<A[index-1]){
int temp =A[index-1];
A[index-1]=A[index];
A[index]=temp;
index--;
}else{break;}

}
}
return A;



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 排序算法