今天去移动研究院面试,被问到排序问题,接下来几篇打算将排序的几种算法一一复习一下。
冒泡排序的大概内容是将相邻的两个数值进行比较,如果第二个大于第一个,就将第二个和第一个位置互换,如此往后,最后一个位置就是最大的,如此进行继续,最终将数组按从小到大顺序排列。
Python实现:
def maopao_sort(a):
c=len(a)
for i in range(0,c-1):
for j in range(i+1,c):
if arr[j]<arr[i]:
arr[j],arr[i]=arr[i],arr[j]
print(a)
arr=[1,2,3,4,56,25,64,67,34,57,87,78,68,59]
print(arr)
maopao_sort(arr)
Java实现:
package demo;
public class MaopaoSort{
public static void main(String[] args) {
int arrys[]={2,6,4,23,76,43,22,41,24,56};
for(int i=0;i<arrys.length-1;i++ ){
for(int j=0;j<arrys.length-i-1;j++){
int temp=1;
if (arrys[j]>arrys[j+1]){
temp=arrys[j+1];
arrys[j+1]=arrys[j];
arrys[j]=temp;
}
}
}
System.out.println("冒泡排序的结果是:");
for(int i=0;i<arrys.length-1;i++){
System.out.print(arrys[i]+",");
}
}
}