mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 15:33:39 +02:00
Added g_list_sort() and g_slist_sort() to merge sort GLists and GSLists.
Fri Nov 13 15:17:34 1998 Owen Taylor <otaylor@redhat.com> * glist.c gslist.c glib.h: Added g_list_sort() and g_slist_sort() to merge sort GLists and GSLists. Submitted by Sven Over <sven.over@ob.kamp.net> over a year ago! * testglib.c: Test the new sort functions.
This commit is contained in:
@@ -425,6 +425,26 @@ main (int argc,
|
||||
g_error ("Sorted insert failed");
|
||||
}
|
||||
|
||||
g_list_free (list);
|
||||
list = NULL;
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
list = g_list_prepend (list, &morenums[i]);
|
||||
|
||||
list = g_list_sort (list, my_list_compare_two);
|
||||
|
||||
/*
|
||||
g_print("\n");
|
||||
g_list_foreach (list, my_list_print, NULL);
|
||||
*/
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
t = g_list_nth (list, i);
|
||||
if (*((gint*) t->data) != (9 - i))
|
||||
g_error ("Merge sort failed");
|
||||
}
|
||||
|
||||
g_list_free (list);
|
||||
|
||||
g_print ("ok\n");
|
||||
@@ -473,6 +493,26 @@ main (int argc,
|
||||
g_slist_foreach (slist, my_list_print, NULL);
|
||||
*/
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
st = g_slist_nth (slist, i);
|
||||
if (*((gint*) st->data) != (9 - i))
|
||||
g_error("Sorted insert failed");
|
||||
}
|
||||
|
||||
g_slist_free(slist);
|
||||
slist = NULL;
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
slist = g_slist_prepend (slist, &morenums[i]);
|
||||
|
||||
slist = g_slist_sort (slist, my_list_compare_two);
|
||||
|
||||
/*
|
||||
g_print("\n");
|
||||
g_slist_foreach (slist, my_list_print, NULL);
|
||||
*/
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
st = g_slist_nth (slist, i);
|
||||
|
Reference in New Issue
Block a user