我正在尝试根据字符串中的字符数进行字符串排序。我所做的是从用户那里获取 5 个输入字符串并将它们存储在 5 个数组元素中,然后使用strlen()
. 现在我将strlen(i)
i = 0 到 4 的输出存储在一个数组中,我需要使用任何排序算法对该数组进行排序。我的代码直到找到每个字符串的长度是:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i;
char *p[5]; //array of integer pointing to string
int x[5]; //integer array to store output of strlen()
printf("Enter the strings to be sorted");
for(i=0;i<=4;i++)
{
p[i]=calloc(100,1);
scanf("%99s\n",p[i]); //for getting and storing user input i.e string.
}
for(i=0;i<=4;i++)
{
printf("enetered [%d] string is = %s : String size = %d\n",i, p[i], (int) strlen(p[i])); //for printing the string and its length
}
for(i=0;i<=4;i++)
{
x[i]=strlen(p[i]); //for storing the length of string in array
}
for(i=0;i<=4;i++)
{
printf("%d\n",x[i]);
}
#ifdef OLD
for(i=0;i<=4;i++)
{
x[i]=p[i];
}
for(i=0;i<=4;i++)
{
printf("%s\t %d\n",x[i],strlen(x[i]));
}
#endif
return 0;
}
假设x[0]对应字符串p[0]的长度,x[1]到p[1]等类似;由于 x[i] 是一个整数数组,因此可以对其进行排序。现在有什么方法可以让我对整数数组进行排序时,通过某些代码与整数数组耦合的字符串也会被打乱和排序。
我试图找到一种以另一种方式实现这一点的方法,尽管我仍然是初学者,也是初学者。除此之外,如果有人可以建议我任何用于字符串排序的通用算法。
我的第二个问题是是否有人可以建议根据字符串中的字符数对字符串进行排序。