1.冒泡排序:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
public static void sort(long[] arr){
long temp=0;
for (int i=0;i<arr.length-1;i++){
for (int j=arr.length-1;j>i;j--){
if (arr[j]<arr[j-1]){
//交换
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
}
2.直接选择排序:第一次从R[0]R[n-1]中选取最小值,与R[0]交换,第二次从R[1]R[n-1]中选取最小值,与R[1]交换,…,第i次从R[i-1]R[n-1]中选取最小值,与R[i-1]交换,…,第n-1次从R[n-2]R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
public static void sort(long[] arr){
int k=0;
long temp=0;
for (int i=0;i<arr.length-1;i++){
k=i;
for (int j=i;j<arr.length;j++){
if(arr[j]<arr[k]){
k =j;
}
}
temp=arr[i];
arr[i]=arr[k];
arr[k]=temp;
}
}
3.直接插入排序
public static void cr(int a[]){
for(int i=1;i<a.length;i++){
for(int j = i;j>0;j--){
if(a[j]<a[j-1]){
int temp;
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}