Don't like ads? PRO users don't see any ads ;-)

Arrange strings

By: p77u4n on Jul 10th, 2012  |  syntax: C  |  size: 0.60 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*exercise 3.3:Arrange strings*/
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. void expand(char s1[],char s2[] )
  7. {
  8.     int gap,i,j,n,temp;
  9.     n=strlen(s1);
  10.     i=0;
  11.     for(i=0;i<=n;i++)
  12.     {
  13.       s2[i] = s1[i];
  14.  
  15.     }
  16.     for (gap = n/2;gap > 0;gap /=2)
  17.       for(i=gap;i<n;i++)
  18.         for(j=i-gap;j>=0 && s2[j] > s2[j+gap];j-=gap) {
  19.         temp = s2[j];
  20.         s2[j] = s2[j+gap];
  21.         s2[j+gap]=temp;
  22.         }
  23.  
  24. }
  25.  
  26. int main()
  27. {
  28.     char s1[1000] ="afwahefjsdhfahejfhdsnajsdnjsnafhj";
  29.     char s2[1000];
  30.     expand(s1,s2);
  31.     printf("orginal string:%s\n",s1);
  32.     printf("odered string:%s\n",s2);
  33.     return 0;
  34. }