冒泡排序
冒泡排序时间复杂度:O(n²)
冒泡排序空间复杂度:O(1)
public static void bubbleSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=arr.length-1;j>i;j--){
if(arr[j]<arr[j-1]){
int temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
}
快速排序
快速排序时间复杂度:O(nlogn)
快速排序空间复杂度:O(log n)
public static void QuickSort(int[] arr, int low, int high){
if(low<high){
int index=getIndex(arr,low,high);
QuickSort(arr,low,index-1);
QuickSort(arr,index+1,high);
}
}
public static int getIndex(int[] arr, int low, int high){
int temp=arr[low];
while(low< high){
while (low < high && arr[high]>=temp){
high--;
}
arr[low]=arr[high];
while(low <high && arr[low]<=temp){
low++;
}
arr[high]=arr[low];
}
arr[low]=temp;
return low;
}
}
未完待续。。。
本文详细介绍了冒泡排序和快速排序两种常见排序算法,对比了它们的时间复杂度(冒泡排序为O(n²),快速排序为O(nlogn)),并提供了各自的Java实现。通过实例演示,深入理解这两种排序方法的优缺点。

1719

被折叠的 条评论
为什么被折叠?



