首页>新闻>成都Java培训学校实力一览

成都Java培训学校实力一览

来源:成都IT培训机构

时间:2021/8/8 10:28:05

成都Java培训学校实力一览,成都Java培训就到千锋教育,中国IT职业教育良心品牌,专注Java培训,HTML5+WEB前端培训,Python+人工智能培训,Linux云计算培训,全链路UI培训,大数据培训,unity游戏开发,软件测试,PHP,互联网营销、网络安全、嵌入式物联网培训,并提供Java培训视频,云计算培训视频,HTML5培训视频,软件测试培训视频等12大培训视频,千锋教育长期坚持用“良心做教育”,提供专业的IT培训服务。

成都Java培训小编本文介绍排序需要用到的工具:左指针、右指针、中间值。

用到的思想:递归

取数组中个元素作为中间值,然后左右指针分别跟中间值进行比较,小于中间值的放在左边,大于中间值的放在右边,当左右指针重合时,重合位置处的左边数值全部比中间值小,右边全部比中间值大。

这样数组就分成了两个部分,再对这两部分如法炮制,分别又生成了两个数组,依次递归下去,递归结束的条件是左指针大于或者等于右指针。

public static void quickSort(int[]a,int left,int right){

if(left<right){

int index=getIndex(a,left,right);

quickSort(a,left,index-1);

quickSort(a,index+1,right);

}

}

public static int getIndex(int[]a,int left,int right){

int tmp=a[left];

while(left<right){

//用while循环,来判断右指针对应的数是否大于tmp,是的话不用交换,直接移动右指针即可

while(left<right&&a[right]>=tmp){

right--;

}

//顺序执行到这里,肯定是不满足上面的while循环条件,也就是右边的数要小于中间值,此时需要把右边的数换到左边

a[left]=a[right];

while(left<right&&a[left]<=tmp){

left++;

}

a[right]=a[left];

}

//当循环结束后,左右两边都分好大小,而指针重合位置处却没有值,需要把中间值放进来。

a[left]=tmp;

//返回两者相交处。

return left;

}

  • 上一篇:成都靠前的java培训机构
  • 下一篇:成都HTML5培训学校费用贵不贵
  • 相关推荐 更多>

    成都UI培训机构实力哪家靠前

    成都UI培训机构哪家实力更强

    成都靠前的UI培训推荐哪家

    成都哪家UI培训学校实力更好

    成都UI培训哪家学校靠前

    成都不错的javap培训机构...

    预约体验课

    版权所有:搜学搜课(www.soxsok.com)

  • 在线咨询
  • 电话咨询
  • 预约试听

  • ;