grouping of numbers with script

Suppose u have a file
2
4
6
11
22
13
23
43
12
4
33
31
45
then u want a output like
0-10 4
10-20 3
20-30 2
30-40 2
40-50 2

nawk -f cdcf.awk myFile

cdcf.awk:

{
  a[int($1/10)]++
}
END {
  for (i in a)
    printf("[%d-%d] %d\n", i*10, i*10+10, a)
}

A small addition to sort the output:

{
              a[int($1 / 10)]++
              if (int($1 / 10) > c) { 
                       c = int($1 / 10)
                }
        }

        END {
            for (i = 0; i <= c; i++) {
                    if (i in a) { 
                               printf "[%d-%d] %d\n", i * 10, i * 10 + 10, a
                        }
                }
        }