今天大鹏哥跟大家学习下交换排序中的冒泡排序。
为什么叫冒泡排序呢,因为在这种排序过程中越大的元素会经由交换慢慢”浮”到数列的顶端,故名冒泡排序。冒泡排序就是把小的元素往前调或者把大的元素往后调。
冒泡排序基本操作:
比较相邻的元素,如果第一个比第二个大,则交换他们两个。
Java实现如下:
public
class BubbleSort {
public
static void main(String[] args) {
// TODO Auto-generatedmethod stub
int[] a={49,38,65,97,76,13,27,50};
System.out.print("排序前:");
for(int x:a){
System.out.print(x+",");
}
bubbleSort(a);
System.out.print("排序后:");
for(int x:a){
System.out.print(x+",");
}
}
private
static void bubbleSort(int[] a) {
// TODO Auto-generatedmethod stub
int temp;
for(int j=1;j<a.length;j++){
for(int i=0;i<a.length-1;i++){
temp = a[i];
if(a[i+1]<a[i]){
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
}
}
冒泡排序的时间复杂度为O(n^2)(冒泡排序效率比较低,在数据规模较小时,可以采用,数据规模比较大时,最好用其他排序方法)。
时间: 2024-11-14 20:16:23