+void destroy(struct file_with_size *node) {
+ struct file_with_size *next;
+ while(node) {
+ next = node->next;
+ free(node->filename);
+ free(node);
+ node = next;
+ }
+}
+
+/**********************************************************************/
+
+void print_sorted(struct file_with_size *root) {
+ struct file_with_size *node;
+ struct file_with_size **nodes;
+ int nb, n;
+
+ nb = 0;
+ for(node = root; node; node = node->next) {
+ nb++;
+ }
+
+ nodes = malloc(nb * sizeof(struct file_with_size *));
+
+ n = 0;
+ for(node = root; node; node = node->next) {
+ nodes[n++] = node;
+ }
+
+ for(n = 0; n < nb; n++) {
+ printf("%u %s\n", nodes[n]->size, nodes[n]->filename);
+ }
+
+ free(nodes);
+}
+
+/**********************************************************************/
+