Thursday, 28 August 2014

Count frequency of characters in String and print in ascending order

class StringDemo13
{
static void frequencyCount(String s)
{
char c[] = s.toCharArray();
String s1="", s2="";
int i, j, count=0;
for(i=0;i<c.length;i++)
{
count=0;
for(j=0;j<i;j++)
{
if(c[i] == c[j])
count++;
}
if(count==0)
{
for(j=i;j<c.length;j++)
{
if(c[i] == c[j])
count++;
}
s1+=c[i];
s2+=count;
}
}
char c1[] = s1.toCharArray();
char c2[] = s2.toCharArray();
int key1, key2;
for(i=1;i<c2.length;i++)
{
key2 = c2[i];
key1 = c1[i];
j=i-1;
while(j>=0 && key2<c2[j])
{
c2[j+1] = c2[j];
c1[j+1] = c1[j];
j--;
}
c1[j+1] = (char)key1;
c2[j+1] = (char)key2;
}
for(i=0;i<c1.length;i++)
{
System.out.println(c1[i]+"  "+c2[i]);
}
}
public static void main(String... s)
{
frequencyCount("nniiitttttinnn");
}
}

No comments: