排序练习题:三色排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序练习题:三色排序相关的知识,希望对你有一定的参考价值。
有一个只由0,1,2三种元素构成的整数数组,请使用交换、原地排序而不是使用计数进行排序。
给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。
测试样例:
[0,1,1,0,2,2],6
返回:[0,0,1,1,2,2]
public class ThreeColor { public int[] sortThreeColor(int[] A, int n) { // write code here int i=0; int j=0; int k=n-1; while(j<=k){ if(A[j]==0){ swap(A, j, i++); j++; } else if(A[j]==1){ j++; } else{ swap(A, j, k--); } } return A; } void swap(int[] A,int m,int n){ if(m!=n){ int temp = A[m]; A[m] = A[n]; A[n] = temp; } } }
以上是关于排序练习题:三色排序的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段