
Arrange strings
By:
p77u4n on
Jul 10th, 2012 | syntax:
C | size: 0.60 KB | hits: 19 | expires: Never
/*exercise 3.3:Arrange strings*/
#include <stdio.h>
#include <string.h>
void expand(char s1[],char s2[] )
{
int gap,i,j,n,temp;
n=strlen(s1);
i=0;
for(i=0;i<=n;i++)
{
s2[i] = s1[i];
}
for (gap = n/2;gap > 0;gap /=2)
for(i=gap;i<n;i++)
for(j=i-gap;j>=0 && s2[j] > s2[j+gap];j-=gap) {
temp = s2[j];
s2[j] = s2[j+gap];
s2[j+gap]=temp;
}
}
int main()
{
char s1[1000] ="afwahefjsdhfahejfhdsnajsdnjsnafhj";
char s2[1000];
expand(s1,s2);
printf("orginal string:%s\n",s1);
printf("odered string:%s\n",s2);
return 0;
}