How to sort an array of strings in lexicographical (dictionary) order in C

1 Answer

0 votes
#include <stdio.h> 
#include <string.h> 
  
int main(void)
{   
    char s[][10] = {"c#", "c++", "c", "php", "java"}, tmp[10];
    
    int rows = sizeof (s) / sizeof (*s);
    
    for (int i = 0; i < rows - 1; i++)
        for (int j = i + 1; j < rows; j++)
        {
            if (strcmp(s[i], s[j]) > 0)
            {
                strcpy(tmp, s[i]);
                strcpy(s[i], s[j]);
                strcpy(s[j], tmp);
            }
        }

    for (int i = 0; i < rows; i++)
        puts(s[i]);
      
    return 0;
}
  
          
/*
run:
       
c
c#
c++
java
php
 
*/

 



answered May 24, 2017 by avibootz
...