加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C快速排序算法代码实现

发布时间:2020-12-15 04:55:22 所属栏目:百科 来源:网络整理
导读:public static void main(String[] args) { int [] a= {1,3,5,7,9,2,4,6}; Sorts(a,a.length-1); for(int i=0;i System.out.print(a[i]+" "); } } public static void Sorts(int [] a,int start,int end) { int i,j,temp; if(start>end) { //起点终点相遇 re

public static void main(String[] args) {


int [] a= {1,3,5,7,9,2,4,6};


Sorts(a,a.length-1);


for(int i=0;i


System.out.print(a[i]+" ");


}


}


public static void Sorts(int [] a,int start,int end) {


int i,j,temp;


if(start>end) { //起点终点相遇


return;


}


i=start; //起点(哨兵)


j=end; //终点


temp=a[start];


while(i


while(temp<=a[j]&&i


j--; //获取到第一个小于哨兵的值


}


while(temp>=a[i]&&i


i++; //获取到第一个大于哨兵的值


}


if(i


int k=a[i];


a[i]=a[j];


a[j]=k;


}


a[start]=a[i]; //交换哨兵和中间值得位置


a[i]=temp;


}


Sorts(a,start,j-1); //递归重复执行


Sorts(a,j+1,end); //递归重复执行


}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读