sort strings
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#include <stdio.h>#include <stdlib.h> int String_Compare(const char* _First_String_, const char* _Second_String_);char* String_Copy(char* destination, const char* source); void Bubble_Sort(char array[][10], int size);void swap(char array[][10], int Partial_Element); void display(char array[][10], int size); int main(void) { char _String[10][10] = { "apple", "banana", "orange", "pineapple", "melon", "mango", "papaya", "fig", "coconut", "pear" }; display(_String, 10); printf("\n\n== bubble sort ==\n"); Bubble_Sort(_String, 10); display(_String, 10); return 0;} void display(char array[][10], int size) { int index = 0; for (index = 0; index < size; index++) { printf("%s\n", *(array + index)); } return;} void Bubble_Sort(char array[][10], int size) { int All_Element = 0, Partial_Element = 0; for (All_Element = 0; All_Element < size; All_Element++) { for (Partial_Element = 0; Partial_Element < size - 1; Partial_Element++) { if (String_Compare(*(array + Partial_Element + 0), *(array + Partial_Element + 1)) > 0) { swap(array, Partial_Element); } } Partial_Element++; } return;} void swap(char array[][10], int Partial_Element) { char* temporary = (char*)calloc(100, sizeof(char)); String_Copy(temporary, *(array + Partial_Element + 0)); String_Copy(*(array + Partial_Element + 0), *(array + Partial_Element + 1)); String_Copy(*(array + Partial_Element + 1), temporary); return;} char* String_Copy(char* destination, const char* source) { char* Return_Result = destination; while (*destination++ = *source++); return (char*)Return_Result;} int String_Compare(const char* _First_String_, const char* _Second_String_) { int result = 0; while (!(result = *(unsigned char*)_First_String_ - *(unsigned char*)_Second_String_) && *_Second_String_) ++_First_String_, ++_Second_String_; if (result < 0) return -1; else if (result > 0) return 1; return 0;} Colored...