Full width home advertisement

HTML

Tech News

Ad

  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. void radix(int array[], int n);
  6. void main()
  7. {
  8. int array[100], n, i;
  9.  
  10. printf("What's Your Limit ? ");
  11. scanf("%d", &n);
  12. for (i = 0; i < n; i++)
  13. {
  14. printf("Enter %d Data ", i + 1);
  15. scanf("%d", &array[i]);
  16. }
  17.  
  18. radix(&array[0], n);
  19.  
  20. printf("Sorted Successfully\n");
  21. for (i = 0; i < n; i++)
  22. {
  23. printf("%d ", array[i]);
  24. }
  25. }
  26.  
  27. void radix(int arr[], int n)
  28. {
  29. int bucket[10][5], buck[10], b[10];
  30. int i, j, k, l, num, div, large, pass;
  31.  
  32. div = 1;
  33. num = 0;
  34. large = arr[0];
  35.  
  36. for (i = 0; i < n; i++)
  37. {
  38. if (arr[i] > large)
  39. {
  40. large = arr[i];
  41. }
  42.  
  43. while (large > 0)
  44. {
  45. num++;
  46. large = large / 10;
  47. }
  48.  
  49. for (pass = 0; pass < num; pass++)
  50. {
  51. for (k = 0; k < 10; k++)
  52. {
  53. buck[k] = 0;
  54. }
  55. for (i = 0; i < n; i++)
  56. {
  57. l = ((arr[i] / div) % 10);
  58. bucket[l][buck[l]++] = arr[i];
  59. }
  60.  
  61. i = 0;
  62. for (k = 0; k < 10; k++)
  63. {
  64. for (j = 0; j < buck[k]; j++)
  65. {
  66. arr[i++] = bucket[k][j];
  67. }
  68. }
  69. div *= 10;
  70. }
  71. }
  72. }
OUTPUT



No comments:

Post a Comment

Bottom Ad [Post Page]