冒泡排序和归并排序(JAVA)
1.冒泡排序
int num[]={9,2,4,6,0,8,1};
for(int i=0;i<num.length-1;i++){
boolean flag=true;
for(int j=0;j<num.length-i-1;j++){
if(num[j]>num[j+1]){
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
flag=false;
}
}
if(flag==true){
break;
}
}
2.归并排序
public void merge(int arr[],int left,int M,int right){
int L[]=Arrays.copyOfRange(arr,left,M+1);
int R[]=Arrays.copyOfRange(arr,M+1,right);
int i=0;
int j=0;
int k=left;
while(i<L.length&&j<R.length){
if(L[i]<R[j]){
arr[k]=L[i++];
k++;
}else{
arr[k]=R[j++];
k++;
}
}
while(i<L.length){
arr[k]=L[i++];
k++;
}
while(j<R.length){
arr[k]=R[j++];
k++;
}
}
public void mergeSort(int arr[],int left,int right){
if(left==right){
return;
}else{
int mid=(left+right)/2;
mergeSort(arr,left,mid);
mergeSort(arr,mid+1,right);
merge(arr,left,mid,right);
}
}