微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C快速排序算法代码实现

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); //递归重复执行

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐