冒泡排序(Bubble Sort)
原理
比较两个相邻的元素,将值大的元素交换到右边。每趟比较下来,未被排好序中的最大的元素会被交换到最右边。
要点
arr=[1,9,6,2,13,7,24,16]
N个数进行排序,总共进行(N-1)趟排序;每趟排序中,共有(N-i)次相邻元素的比较。
Java代码
public class Bubble_Sort {
public static int[] bubble_sort(int arr[]){
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]) {
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
public static void main(String[] args) {
int[] arr = {1,9,6,2,13,7,24,16};
arr = bubble_sort(arr);
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
}
Matlab代码
A=[1,6,12,45,23,7,9,11];
for i=1:length(A)
for j=1:length(A)-i
if A(j)>A(j+1)
temp=A(j+1);
A(j+1)=A(j);
A(j)=temp;
end
end
end