xxxxxxxxxx
// Sort an array of words by length
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROWS 6
#define MAXLEN 20
int compare (const void * a, const void * b) {
size_t fa = strlen((const char *)a);
size_t fb = strlen((const char *)b);
return (fa > fb) - (fa < fb);
}
// Original string array
char list[ROWS][MAXLEN] = {
"Alice", "Bob", "Marmaduke", "Charlie", "Eve", "David"
};
int main(int argc, char *argv[]) {
int x;
puts("unsorted:");
for (x=0;x<sizeof(list)/sizeof(list[0]);x++)
printf("%s\n",list[x]);
printf("\n");
// Sort in descending order by length
qsort(list, ROWS, MAXLEN, compare);
puts("sorted:");
for (x=0;x<sizeof(list)/sizeof(list[0]);x++)
printf("%s\n",list[x]);
// system("PAUSE");
return EXIT_SUCCESS;
}
xxxxxxxxxx
// Sort an array of words by length
package main
import (
"fmt"
"sort"
)
type TextWords []string
func (s TextWords) Len() int { return len(s) }
func (s TextWords) Less(i, j int) bool { return len(s[i]) > len(s[j]) }
func (s TextWords) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
func main() {
// Original string array
names := []string{"Alice", "Bob", "Marmaduke", "Charlie", "Eve", "David"}
// Sort in descending order by length
sort.Sort(TextWords(names))
fmt.Println("Sorted array:", names)
}
xxxxxxxxxx
// Sort an array of words by length
function sortByLength(array) {
return array.sort(function(a, b) {
return a.length - b.length;
});
}
console.log(sortByLength(["Alice", "Bob", "Marmaduke", "Charlie", "Eve", "David"]));