方法

GLibSequenceinsert_sorted

自: 2.14

声明 [源]

GSequenceIter*
g_sequence_insert_sorted (
  GSequence* seq,
  gpointer data,
  GCompareDataFunc cmp_func,
  gpointer cmp_data
)

描述 [源]

使用cmp_func来决定新位置,将data插入到已经由cmp_func排序的seq中。如果不按照cmp_func排序,data的新位置将是不确定的。

cmp_func使用来自seq的两个项目和cmp_data调用。如果两个项目相等,应返回0;如果第一个项目在第二个之前,应返回负值;如果第二个项目在第一个之前,应返回正值。

请注意,当向GSequence添加大量数据时,进行未排序的插入然后调用g_sequence_sort()或g_sequence_sort_iter()更加高效。

自: 2.14

参数

data

类型: gpointer

要插入的数据。

参数可以为NULL。
数据由方法调用者所有。
cmp_func

类型: GCompareDataFunc

用于比较序列中项目的函数。

cmp_data

类型: gpointer

传递给cmp_func的用户数据。

参数可以为NULL。
数据由方法调用者所有。

返回值

类型: GSequenceIter

指向新项目的GSequenceIter。

返回的数据由实例所有。