Advertisement
Guest User

Untitled

a guest
Nov 30th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int compareStrings(const void *s1, const void *s2) {
  6.     size_t i;
  7.  
  8.     for (i = 0; ((char*)s1)[i] == ((char*)s2)[i]; i++) {
  9.         if (((char*)s1)[i] == '\0')
  10.             return 0;
  11.     }
  12.     if ((unsigned char)((char*)s1)[i] < (unsigned char)((char*)s2)[i])
  13.         return -1;
  14.     else
  15.         return 1;
  16. }
  17.  
  18. char** stringSort(char** strings, size_t len) {
  19.     qsort(*strings, len, sizeof(char*), compareStrings);
  20.     return strings;
  21. }
  22.  
  23. int main()
  24. {
  25.     char *arr[] = {"C", "CCC", "ABC", "test", "a", "c++"};
  26.     int n = sizeof(arr) / sizeof(arr[0]);
  27.  
  28.     stringSort(arr, n);
  29.  
  30.     for (int i = 0; i < n; i++)
  31.     {
  32.         printf("%s ", arr[i]);
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement