### Function

# GLib List insert_sorted

#### Declaration [src]

    GList*
    g_list_insert_sorted (
      GList* list,
      gpointer data,
      GCompareFunc func
    )

#### Description [src]

Inserts a new element into the list, using the given comparison function to determine its position.

If you are adding many new elements to a list, and the number of new elements is much larger than the length of the list, use `g_list_prepend()` to add the new items and sort the list afterwards with g_list_sort().

This function is not directly available to language bindings.

#### Parameters

`list`

  Type: A list of `gpointer`

  A pointer to a `GList`, this must point to the top of the already sorted list.

  The data is owned by the caller of the function.

`data`

  Type: `gpointer`

  The data for the new element.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`func`

  Type: `GCompareFunc`

  The function to compare elements in the list. It should return a number > 0 if the first parameter comes after the second parameter in the sort order.

#### Return value

Type: A list of `gpointer`

The (possibly changed) start of the `GList`.

The data is owned by the called function.