亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test.c

?? Red Black Trees This file is come from the Linux Kernel.
?? C
字號:
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include "rbtree.h"

typedef unsigned int	CORE_ADDR;
typedef struct rb_addr_s {	rb_node_t	rb_node;
	CORE_ADDR	addr;}rb_addr_t;

static inline rb_addr_t *
rb_find_addr_struct(CORE_ADDR addr, rb_root_t *root, rb_node_t **ret_parent, rb_node_t ***ret_link)
{
	rb_node_t	**link = &root->rb_node;	rb_node_t	*parent = NULL;
	rb_addr_t	*rb_addr = NULL;
	rb_addr_t	*ret_rb_addr = NULL;

	while (*link) {
		parent = *link;
		rb_addr = rb_entry(parent, rb_addr_t, rb_node);

		if (addr < rb_addr->addr) {
			link = &(*link)->rb_left;
		}
		else if (addr > rb_addr->addr) {
			link = &(*link)->rb_right;
		}
		else {
			ret_rb_addr = rb_addr;
			break;
		}
	}
	if (ret_parent) {
		*ret_parent = parent;
	}
	if (ret_link) {
		*ret_link = link;
	}

	return(ret_rb_addr);
}

int
rb_insert_addr(CORE_ADDR addr, rb_root_t *root)
{
	rb_node_t	**rb_link;	rb_node_t	*rb_parent;
	rb_addr_t	*rb_addr = NULL;

	if (rb_find_addr_struct(addr, root, &rb_parent, &rb_link)) {
		return(-1);
	}
	rb_addr = (rb_addr_t *)malloc(sizeof(rb_addr_t));
	if (!rb_addr) {
		return(-1);
	}
	rb_addr->addr = addr;
	rb_link_node(&rb_addr->rb_node, rb_parent, rb_link);
	rb_insert_color(&rb_addr->rb_node, root);

	return(0);
}

int
rb_remove_addr(CORE_ADDR addr, rb_root_t *root)
{
	rb_addr_t	*rb_addr = rb_find_addr_struct(addr, root, NULL, NULL);

	if (!rb_addr) {
		return(-1);
	}
	rb_erase(&rb_addr->rb_node, root);
	free(rb_addr);

	return(0);
}

static inline int
rb_find_addr(CORE_ADDR addr, rb_root_t *root)
{
	rb_node_t	**link = &root->rb_node;	rb_node_t	*parent = NULL;
	rb_addr_t	*rb_addr;

	while (*link) {
		parent = *link;
		rb_addr = rb_entry(parent, rb_addr_t, rb_node);

		if (addr < rb_addr->addr) {
			link = &(*link)->rb_left;
		}
		else if (addr > rb_addr->addr) {
			link = &(*link)->rb_right;
		}
		else {
			return(1);
		}
	}

	return(0);
}

int
main(int argc,char *argv[], char *envp[])
{
	rb_root_t	addr_root;

	addr_root = RB_ROOT;

	//right insert
	printf("right insert\n");
	if (rb_insert_addr(0x1, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xc0028018, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xd014cb68, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x74697277, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xc00959f8, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x959f8, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xe3740ffa, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x31321, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x765702, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xf123, &addr_root)) {
		printf("rb_insert_addr error\n");
	}

	//wrong insert
	printf("wrong insert\n");
	if (rb_insert_addr(0x1, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xc0028018, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xd014cb68, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x74697277, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xc00959f8, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x959f8, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xe3740ffa, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x31321, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0x765702, &addr_root)) {
		printf("rb_insert_addr error\n");
	}
	if (rb_insert_addr(0xf123, &addr_root)) {
		printf("rb_insert_addr error\n");
	}

	//right find
	printf("right find\n");
	if (rb_find_addr(0x1, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0xc0028018, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0xd014cb68, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0x74697277, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0xc00959f8, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0x959f8, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0xe3740ffa, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0x31321, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0x765702, &addr_root)) {
		printf("rb_find_addr ok\n");
	}
	if (rb_find_addr(0xf123, &addr_root)) {
		printf("rb_find_addr ok\n");
	}

	//wrong find
	printf("wrong find\n");
	if (rb_find_addr(0x0, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0xc002801, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0xd014cb6, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0x7469727, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0xc00959f, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0x959f, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0xe3740ff, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0x3132, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0x76570, &addr_root)) {
		printf("rb_find_addr error\n");
	}
	if (rb_find_addr(0xf12, &addr_root)) {
		printf("rb_find_addr error\n");
	}

	//right remove
	printf("right remove\n");
	if (rb_remove_addr(0x1, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xc0028018, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xd014cb68, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x74697277, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xc00959f8, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x959f8, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xe3740ffa, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x31321, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x765702, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xf123, &addr_root)) {
		printf("rb_remove_addr error\n");
	}

	//wrong remove
	printf("wrong remove\n");
	if (rb_remove_addr(0x1, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xc0028018, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xd014cb68, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x74697277, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xc00959f8, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x959f8, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xe3740ffa, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x31321, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0x765702, &addr_root)) {
		printf("rb_remove_addr error\n");
	}
	if (rb_remove_addr(0xf123, &addr_root)) {
		printf("rb_remove_addr error\n");
	}

	return(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情欧美激情| 国产91丝袜在线18| 国产美女娇喘av呻吟久久| 成人在线综合网| 7777精品伊人久久久大香线蕉| 久久蜜臀中文字幕| 亚洲成人综合网站| 99精品视频一区| 欧美mv和日韩mv国产网站| 一区二区三国产精华液| 国产成人精品一区二区三区网站观看| 在线观看91精品国产入口| www国产精品av| 日韩成人午夜电影| 日韩欧美一区电影| 亚洲免费观看高清完整版在线| 久久99在线观看| 91精品国产综合久久婷婷香蕉| 亚洲欧美综合在线精品| 国产伦精品一区二区三区视频青涩| 欧美日韩国产首页在线观看| 亚洲图片激情小说| 成人av电影免费观看| 26uuu国产电影一区二区| 三级一区在线视频先锋 | 久久久久99精品国产片| 亚洲一区二区三区不卡国产欧美| 成人激情动漫在线观看| 国产午夜亚洲精品不卡| 狠狠狠色丁香婷婷综合激情| 日韩欧美国产午夜精品| 奇米888四色在线精品| 777色狠狠一区二区三区| 午夜av电影一区| 欧美理论片在线| 日韩av电影免费观看高清完整版| 欧美日韩亚洲不卡| 天堂蜜桃一区二区三区| 91精品在线观看入口| 美女一区二区在线观看| 精品国产91乱码一区二区三区| 国内久久婷婷综合| 欧美国产一区二区| 91日韩精品一区| 亚洲一区在线观看网站| 欧美男生操女生| 奇米在线7777在线精品| 久久夜色精品国产欧美乱极品| 国产很黄免费观看久久| 亚洲视频你懂的| 欧美日韩国产高清一区| 久久成人免费网| 亚洲国产精品高清| 在线观看免费成人| 精品在线观看视频| 国产精品成人午夜| 欧美日韩国产美| 国内精品不卡在线| 亚洲精品一二三| 日韩视频免费观看高清完整版在线观看| 强制捆绑调教一区二区| 久久精品人人做人人爽97| 97久久精品人人做人人爽| 性做久久久久久免费观看| 精品国产凹凸成av人导航| 欧美日精品一区视频| 奇米精品一区二区三区在线观看| 国产免费观看久久| 欧美日韩免费一区二区三区视频| 国产一区在线视频| 一区二区三区丝袜| 久久蜜桃av一区二区天堂| 日本大香伊一区二区三区| 美女视频一区在线观看| 亚洲欧美一区二区在线观看| 91精品国产综合久久久久久久| 成人亚洲一区二区一| 五月婷婷综合在线| 亚洲婷婷国产精品电影人久久| 91精品国产91热久久久做人人| 福利视频网站一区二区三区| 天天综合天天做天天综合| 国产精品蜜臀av| 日韩一区二区在线看| 色呦呦一区二区三区| 国产精品一区二区黑丝| 日韩精品免费视频人成| 中文字幕亚洲视频| 久久九九全国免费| 日韩欧美一区二区免费| 欧美在线小视频| 99riav一区二区三区| 国产一区二区三区电影在线观看| 午夜成人免费视频| 洋洋av久久久久久久一区| 久久午夜国产精品| 91精品国产福利| 欧美另类videos死尸| 在线观看亚洲a| 91免费视频网| a4yy欧美一区二区三区| 国产精品99久| 国产麻豆精品在线观看| 精品一区在线看| 麻豆久久一区二区| 日韩电影在线免费| 日本成人在线视频网站| 夜夜爽夜夜爽精品视频| 亚洲精品你懂的| 亚洲免费在线看| 亚洲精品大片www| 亚洲久草在线视频| 一区二区三区美女视频| 一个色妞综合视频在线观看| 亚洲精品美国一| 亚洲综合一区二区| 亚洲va国产天堂va久久en| 亚洲电影欧美电影有声小说| 亚洲国产欧美在线人成| 亚洲地区一二三色| 日韩激情一二三区| 国产成人精品影院| 北条麻妃一区二区三区| 色综合激情五月| 欧美日韩国产123区| 日韩视频在线永久播放| 日韩丝袜情趣美女图片| 久久久久久电影| 国产精品免费免费| 亚洲制服丝袜一区| 免费观看成人鲁鲁鲁鲁鲁视频| 裸体歌舞表演一区二区| 国产在线播精品第三| 成人免费毛片嘿嘿连载视频| 99久久精品国产一区二区三区 | 日本美女视频一区二区| 美女视频网站久久| 国产成人av一区| 在线观看一区日韩| 91麻豆精品国产91| 久久久久9999亚洲精品| 亚洲另类在线视频| 奇米影视7777精品一区二区| 国产真实乱子伦精品视频| 99久久久免费精品国产一区二区| 色婷婷av一区二区三区大白胸 | 精品国产电影一区二区| 中文字幕第一区第二区| 亚洲国产美女搞黄色| 国产一区二区免费在线| 欧洲一区二区av| 欧美tickling网站挠脚心| 亚洲视频在线观看三级| 美女尤物国产一区| 日本精品一级二级| 日韩欧美www| 亚洲女人的天堂| 国产又黄又大久久| 欧美人妖巨大在线| 国产精品久久二区二区| 青娱乐精品视频| 在线视频你懂得一区| 精品99一区二区三区| 一二三区精品视频| 成人激情免费电影网址| 欧美一区二区三区在线看| 最新欧美精品一区二区三区| 久久精品国产久精国产爱| 一本久久a久久免费精品不卡| 精品三级在线看| 亚洲午夜一区二区| 欧美一级欧美三级在线观看 | 一区二区三区不卡在线观看| 国产一区二区在线观看免费| 欧美日韩亚洲另类| 一区二区在线观看免费视频播放| 激情图片小说一区| 在线不卡免费欧美| 一区二区三区在线看| 成人一区二区三区视频在线观看| 欧美一二三在线| 五月天视频一区| 日本韩国视频一区二区| 亚洲国产成人午夜在线一区| 久久精品国产**网站演员| 欧美日韩中文国产| 一区二区三区成人| 91美女片黄在线观看91美女| 国产精品日韩精品欧美在线| 韩国av一区二区三区四区| 欧美一区二区观看视频| 视频一区二区欧美| 欧美日韩不卡视频| 亚洲高清久久久| 欧美亚洲一区二区三区四区| 亚洲黄色性网站| 91行情网站电视在线观看高清版| 亚洲日本护士毛茸茸| 97se亚洲国产综合自在线 | 9人人澡人人爽人人精品|