すのはら荘春原庄的雪

快速排序java实现

Toretto·2022-04-03 19:02·19 次阅读

快速排序java实现

import java.util.*;
public class Main {
public static void quick_sort(int q[],int l,int r) {
if(l>=r){
return;
}
//1.选择一个数作为分界点,将数组分为两个部分,左边都小于等于它,右边都大于等于它
int x=q[l+r>>1];
//定义两个指针,i指向的数小于等于x就往右移,直到大于它,j同理
int i=l-1,j=r+1;
while(i<j){
do{
i++;
}while(x>q[i]);
do{
j--;
}while(x<q[j]);
//两个指针都停下时如果i<j,就交换这两个数
if(i<j){
int t=q[i];
q[i]=q[j];
q[j]=t;
}
}
//递归处理左半数组和右半数组
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int[] b=new int[n];
for(int i=0;i<n;i++){
b[i]=scan.nextInt();
}
quick_sort(b,0,n-1);
for(int i=0;i<n;i++){
System.out.print(b[i]+" ");
}
}
}

posted @   经典的错误  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示