Exemple #1
0
int main()
{
    int count;
    scanf("%d", &count);
    int *data = (int*)malloc(count * sizeof(int));
    int i;
    for (i = 0; i < count; i++)
        scanf("%d", &data[i]);

    sort_fn(data, count);

    printf("result:\n");
    for (i = 0; i < count; i++)
        printf("%d ", data[i]);
    printf("\n");
    return 0;
}
Exemple #2
0
static struct alloc_stat *search_alloc_stat(unsigned long ptr,
					    unsigned long call_site,
					    struct rb_root *root,
					    sort_fn_t sort_fn)
{
	struct rb_node *node = root->rb_node;
	struct alloc_stat key = { .ptr = ptr, .call_site = call_site };

	while (node) {
		struct alloc_stat *data;
		int cmp;

		data = rb_entry(node, struct alloc_stat, node);

		cmp = sort_fn(&key, data);
		if (cmp < 0)
			node = node->rb_left;
		else if (cmp > 0)
			node = node->rb_right;
		else
			return data;
	}
	return NULL;
}