8ÖÖÅÅÐòÖ®¼äµÄ¹ØÏµ ÏÂÔØ±¾ÎÄ

£¨2£©ÊµÀý£º

£¨3£©ÓÃjavaʵÏÖ

1. 2. 3. 4. 5.

import java.util.ArrayList; import java.util.List;

public class radixSort { int

a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,101,56,17,18,23,34,15,35,25,53,51}; 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.

public radixSort(){ sort(a);

for(int i=0;i

public void sort(int[] array){

//Ê×ÏÈÈ·¶¨ÅÅÐòµÄÌËÊý; int max=array[0];

for(int i=1;imax){ max=array[i]; } }

int time=0; //ÅжÏλÊý; while(max>0){ max/=10;

25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.

time++; }

//½¨Á¢10¸ö¶ÓÁÐ;

List queue=new ArrayList(); for(int i=0;i<10;i++){

ArrayList queue1=new ArrayList(); queue.add(queue1); }

//½øÐÐtime´Î·ÖÅäºÍÊÕ¼¯; for(int i=0;i

//·ÖÅäÊý×éÔªËØ;

for(int j=0;j

ArrayList queue2=queue.get(x); queue2.add(array[j]); queue.set(x, queue2); }

int count=0;//ÔªËØ¼ÆÊýÆ÷; //ÊÕ¼¯¶ÓÁÐÔªËØ;

for(int k=0;k<10;k++){ while(queue.get(k).size()>0){

ArrayList queue3=queue.get(k); array[count]=queue3.get(0); queue3.remove(0); count++; } } } } }

i+1)/(int)Math.pow(10, i);