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

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

?? c_shm_merge.cpp

?? 一個基于HP機器的共享內存的實現, 很使用,大型系統,資料管理非常有用,只要將資料用sql語句配置好,裝載共享內存即可,是一個已經在用的大型系統的共享內存程序,非常有價值.
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	while( i_item_seq < MAX_ITEM_COUNT )
	{
		if( i_element_seq < p_merge_item[i_item_seq]->p_merge_info->record_count )
		{
			i_sort_seq = 1;
			return &(p_merge_item[i_item_seq]->p_merge_list[i_element_seq]);
		}
		if( i_element_seq < p_merge_item[i_item_seq]->p_merge_info->add_record_count )
		{
			i_sort_seq = 0;
			return &(p_merge_item[i_item_seq]->p_add_merge_list[i_element_seq]);
		}
		i_item_seq ++;
	}
	return NULL;	
	//return getElementBySeq(i_item_seq, i_element_seq, i_sort_seq );
}

SHM_MERGE_LIST* c_shm_merge::getNextElement()
{
	i_element_seq ++;
	if( 1 == i_sort_seq )
	{
		//有序區是否已經找完,是,到無序區找。
		if( i_element_seq >= p_merge_item[i_item_seq]->p_merge_info->record_count )
		{
			i_sort_seq = 0;
			i_element_seq = 0;
		}
	}
	else
	{
		//無序區是否找完,是,到下一個子塊中找
		if( i_element_seq >= p_merge_item[i_item_seq]->p_merge_info->add_record_count )
		{
			i_sort_seq = 1;
			i_element_seq = 0;
			i_item_seq ++;
			while( i_item_seq < MAX_ITEM_COUNT )
			{
				if( i_element_seq < p_merge_item[i_item_seq]->p_merge_info->record_count )
				{
					i_sort_seq = 1;
					return &(p_merge_item[i_item_seq]->p_merge_list[i_element_seq]);
				}
				if( i_element_seq < p_merge_item[i_item_seq]->p_merge_info->add_record_count )
				{
					i_sort_seq = 0;
					return &(p_merge_item[i_item_seq]->p_add_merge_list[i_element_seq]);
				}
				i_item_seq ++;
			}
		}
	}
	
	//是否已到最大塊?
	if( i_item_seq >= MAX_ITEM_COUNT )
	{
		return NULL;
	}
	else
	{
		//返回值
		if( 1 == i_sort_seq )
			return &(p_merge_item[i_item_seq]->p_merge_list[i_element_seq]);
		else
			return &(p_merge_item[i_item_seq]->p_add_merge_list[i_element_seq]);
	}	
}

bool c_shm_merge::getChargeList1(const long serv_id, const int billing_cycle_id )
{
	//構造main
	char tmp_buf[20];
	memcpy( &tmp_buf[0], &serv_id, 8 );
	memcpy( &tmp_buf[8], &billing_cycle_id, 4 );

	//首先確定是在哪一塊中
	int main_seq = getMergeItemSeq(&tmp_buf[0]);
	//在小塊中查找
	SHM_MERGE_LIST* p_find_main = p_merge_item[main_seq]->find(&tmp_buf[0]);
	if( p_find_main != NULL )
	{
		//找到號碼
		get_next_pos = p_find_main ->item_pos;
		p_list = getNext();
		list_get_item_count = -1;
		return true;
	}
	else
	{
		return false;
	}
}

int c_shm_merge::getChargeList(const int serv_id, const int counting_type_id)
{
	//首先確定是在哪一塊中
	int main_seq = (serv_id%100)/10;
	//在小塊中查找
	SHM_MERGE_LIST* p_find_main = p_merge_item[main_seq]->findServID( serv_id, counting_type_id );
	p_find_charge_main = p_find_main ;
	if( p_find_main != NULL )
	{
		//找到號碼
		//return update( p_find_main->item_pos, p_item, p_fee );
		get_next_pos = p_find_main->item_pos;
		return 0;
	}
	else
	{
		//打不到
		get_next_pos = -1;
		return -1;
	}
}

void c_shm_merge::displayMain()
{
	/*
	char main_value[500];
	int int_value;
	long long_value;
	double double_value;
	if( p_find_charge_main != NULL )
	{
		for ( int i = 0 ; i < g_main_key.size() ; i ++)
		{
			memcpy(&main_value[0], &(p_find_charge_main->main[g_main_key[i].pos]), g_main_key[i].size);
			main_value[g_main_key[i].size] = '\0';
			switch ( g_main_key[i].type )
			{
				catch 1:
					cout<<i<<"field:"<<main_value<<endl;
					break;
				catch 2:
					memcpy( &int_value, &main_value[0], 4 );
					cout<<i<<"field:"<<int_value<<endl;					
					break;
				catch 3:
					cout<<i<<"field:"<<main_value<<endl;
					break;
				catch 4:
					memcpy( &double_value, &main_value[0], 8 );
					cout<<i<<"field:"<<double_value<<endl;
					break;
				catch 5:
					memcpy( &long_value, &main_value[0], 12 );
					cout<<i<<"field:"<<long_value<<endl;
					break;
				default:
					cout<<i<<"field:"<<main_value<<endl;
					break;
			}
		}
	}
	*/
	return;
}

//冒泡法排序,只對8個進行排序
int c_shm_merge_addition::qSort(const int begin_pos)
{
	return 0;
}

int c_shm_merge_addition::getPos(const int get_pos)
{
	return p_merge_list_item[get_pos].next_pos;
}

long c_shm_merge_addition::getFee( const int main_pos, const int item )
{
	int j, last_pos, get_comp_pos;
	
	int last_main_pos = main_pos;

	int t;
	
	if( p_merge_list_item[last_main_pos].next_pos == -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;
		if( t == 0 )
		{
			return p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee;
		}
		else if( t < 0 )
		{
			return -999999;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
					return p_merge_list_item[ last_main_pos ].acctFee[ j ].fee;
				else if( t > 0 )
					return -999999;
			}
		}
	}

	while( p_merge_list_item[last_main_pos].next_pos != -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;

		if( t == 0 )
		{
			return p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee;
		}
		else if( t < 0 )
		{
			last_main_pos = p_merge_list_item[last_main_pos].next_pos;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
					return p_merge_list_item[ last_main_pos ].acctFee[ j ].fee;
				else if( t > 0 )
					return -999999;
			}
		}
	}
	
	return -999999;
}


bool c_shm_merge_addition::getFee( int main_pos, const int item, long* out_value )
{
	int j, last_pos, get_comp_pos;
	
	int last_main_pos = main_pos;

	int t;
	
	if( p_merge_list_item[last_main_pos].next_pos == -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;
		if( t == 0 )
		{
			memcpy( out_value, &(p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee), sizeof(long) );
			return true;
		}
		else if( t < 0 )
		{
			return false;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
				{
					memcpy( out_value, &(p_merge_list_item[ last_main_pos ].acctFee[ j ].fee), sizeof(long) );
					return true;
				}
				else if( t > 0 )
					return false;
			}
		}
	}

	while( p_merge_list_item[last_main_pos].next_pos != -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;

		if( t == 0 )
		{
			memcpy( out_value, &(p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee), sizeof(long) );
			return true;
		}
		else if( t < 0 )
		{
			last_main_pos = p_merge_list_item[last_main_pos].next_pos;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
				{
					memcpy( out_value, &(p_merge_list_item[ last_main_pos ].acctFee[ j ].fee), sizeof(long) );
					return true;
				}
				else if( t > 0 )
					return false;
			}
		}
	}
	
	return false;
}

bool c_shm_merge_addition::updateFee( const int main_pos, const int item, const long fee )
{	
	int j, last_pos, get_comp_pos;
	
	int last_main_pos = main_pos;

	int t;
	
	if( p_merge_list_item[last_main_pos].next_pos == -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;
		if( t == 0 )
		{
			memcpy( &(p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee), &fee, sizeof(long) );
			return true;
			//p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee = fee;
		}
		else if( t < 0 )
		{
			append( main_pos, &item, &fee );
			return true;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
				{				
					memcpy( &(p_merge_list_item[ last_main_pos ].acctFee[ j ].fee), &fee, sizeof(long) );
					//long test_long ;
					//memcpy( &test_long, &(p_merge_list_item[ last_main_pos ].acctFee[ j ].fee), sizeof(long) );
					//int tmp_d;
					//char tmp_char[17];
					//memcpy( &tmp_char[0], &(p_merge_list_item[ last_main_pos ].acctFee[ j ].key), 16 );
					//for( tmp_d = 0 ; tmp_d < 16; tmp_d ++ )
					//	printf( "%d\t", tmp_char[tmp_d] );
					//printf("\n");fflush(stdout);
					return true;
					//p_merge_list_item[ last_main_pos ].acctFee[ j ].fee = fee;
				}
				else if( t > 0 )
				{
					append( main_pos, &item, &fee );
					return true;
				}
			}
		}
	}

	while( p_merge_list_item[last_main_pos].next_pos != -1 )
	{
		t =  p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].key - item ;

		if( t == 0 )
		{
			memcpy( &(p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee), &fee, sizeof(long) );
			return true;
			//p_merge_list_item[ last_main_pos ].acctFee[ p_merge_list_item[ last_main_pos ].ele_count -1 ].fee = fee;
		}
		else if( t < 0 )
		{
			last_main_pos = p_merge_list_item[last_main_pos].next_pos;
		}
		else 
		{
			//在本塊中查找
			for( j = 0; j < p_merge_list_item[ last_main_pos ].ele_count; j++ )
			{
				t = p_merge_list_item[ last_main_pos ].acctFee[ j ].key - item;
				if( t == 0 )
				{
					memcpy( &(p_merge_list_item[ last_main_pos ].acctFee[ j ].fee), &fee, sizeof(long) );
					return true;
					//p_merge_list_item[ last_main_pos ].acctFee[ j ].fee = fee;
				}
				else if( t > 0 )
				{
					append( main_pos, &item, &fee );
					return true;
				}
			}
		}
	}
	
	return true;
}

/*
SHM_MERGE_LIST_ITEM* c_shm_merge_addition::binfind( const int begin_pos, const int end_pos, const SHM_MERGE_LIST_ITEM* item ) 
{
	if( begin_pos == end_pos )
	{
		if( listItemComp(&(p_merge_list_item[begin_pos]), item ) == 0 )
		{
			return &(p_merge_list_item[begin_pos]);
		}
		else
		{
			return NULL;
		}
	}
	else
	{
		int middle_pos = begin_pos + (end_pos-begin_pos)/2;
		int comp = listItemComp(&(p_merge_list_item[middle_pos]), item );
		if( comp == 0 )
		{
			return &(p_merge_list_item[middle_pos]);
		}
		else if( comp > 0 )
		{
			return binfind( begin_pos, middle_pos, item );
		}
		else
		{
			return binfind( middle_pos+1, end_pos, item );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩aⅴ一区二区三区四区五区| 久久久蜜桃精品| 精品国产91久久久久久久妲己| 国产精品伦一区| 日韩电影在线观看一区| 91网站在线观看视频| 精品美女一区二区三区| 亚洲综合免费观看高清完整版| 国产高清亚洲一区| 91精品国产福利| 亚洲精品久久久久久国产精华液| 国内精品免费**视频| 欧美精品粉嫩高潮一区二区| 亚洲人成网站色在线观看| 国产精一区二区三区| 欧美一区二区三区系列电影| 亚洲国产日产av| 日本道色综合久久| 国产精品麻豆视频| 岛国一区二区在线观看| 久久婷婷国产综合精品青草| 人人爽香蕉精品| 制服丝袜中文字幕亚洲| 亚洲大片一区二区三区| 欧美性生活久久| 一区二区三区中文字幕精品精品| 成人h动漫精品一区二区| 欧美激情综合五月色丁香小说| 精品一区二区国语对白| 日韩欧美你懂的| 麻豆国产精品视频| 欧美变态凌虐bdsm| 国内精品国产成人国产三级粉色 | 欧美亚洲一区三区| 亚洲视频一二三区| 91美女精品福利| 一区二区三区日韩欧美| av一本久道久久综合久久鬼色| 国产精品色呦呦| kk眼镜猥琐国模调教系列一区二区| 国产精品免费av| 色欧美日韩亚洲| 图片区小说区国产精品视频| 91麻豆精品国产自产在线| 美女www一区二区| 久久久久久久久免费| 成人性生交大片免费看中文网站| 国产精品久久久久aaaa樱花| 91蝌蚪国产九色| 亚洲精品视频自拍| 欧美日韩免费一区二区三区视频| 日韩va欧美va亚洲va久久| 精品久久人人做人人爱| 成人动漫一区二区在线| 一区二区三区日韩精品视频| 在线成人免费视频| 风间由美性色一区二区三区| 樱桃视频在线观看一区| 日韩一区二区三区电影在线观看| 精品一区二区三区日韩| 亚洲欧美在线高清| 欧美一级一区二区| www.亚洲激情.com| 天天影视色香欲综合网老头| 精品国产免费人成在线观看| 99久久精品国产一区| 亚洲国产一区二区在线播放| 欧美tickling挠脚心丨vk| 波多野结衣一区二区三区| 亚洲18女电影在线观看| 日本一二三四高清不卡| 欧美日韩视频在线一区二区| 国产高清精品久久久久| 亚洲风情在线资源站| 国产欧美一区二区三区网站| 欧美日韩国产一区二区三区地区| 国产又黄又大久久| 天涯成人国产亚洲精品一区av| 国产亚洲综合av| 欧美精品免费视频| 不卡一区在线观看| 久久国内精品自在自线400部| 亚洲欧美日韩国产成人精品影院| 欧美成人一区二区三区| 欧美在线视频你懂得| 成人美女视频在线看| 美国三级日本三级久久99| 一区二区三区精品视频在线| 国产亚洲欧美中文| 日韩欧美亚洲一区二区| 欧美日韩亚洲综合一区二区三区| 成人免费高清视频| 国产一区二区剧情av在线| 天堂成人免费av电影一区| 亚洲精品乱码久久久久久久久| 国产午夜精品久久久久久免费视| 欧美军同video69gay| 色乱码一区二区三区88| 成人久久久精品乱码一区二区三区 | 亚洲一区二区三区美女| 中文幕一区二区三区久久蜜桃| 精品久久国产字幕高潮| 91麻豆精品国产| 欧美在线free| 99国内精品久久| 国产成人亚洲综合a∨婷婷图片| 精品一区二区三区在线播放| 青青青伊人色综合久久| 日韩和欧美一区二区| 香蕉av福利精品导航| 亚洲成av人片在www色猫咪| 国产精品久久久久久久久久免费看| 日韩欧美国产一二三区| 欧美岛国在线观看| 8x8x8国产精品| 亚洲午夜久久久久久久久电影院| 在线观看免费成人| 色8久久人人97超碰香蕉987| 97久久精品人人澡人人爽| 国产盗摄一区二区三区| 成人黄色777网| 成人天堂资源www在线| 成人亚洲一区二区一| 91亚洲精品久久久蜜桃| 欧美在线观看视频在线| 欧美三级韩国三级日本一级| 欧美精品电影在线播放| 日韩午夜av一区| 久久精品夜色噜噜亚洲a∨ | 国产a精品视频| 成人午夜av在线| 91美女在线看| 欧美伦理电影网| 精品国产污污免费网站入口 | 欧美日韩亚洲综合在线| 欧美日韩亚洲综合| 日韩一区二区三区三四区视频在线观看| 欧美精品一级二级| 日韩欧美视频在线| 国产农村妇女精品| 亚洲一区二区视频在线观看| 五月婷婷激情综合| 国产一区在线观看麻豆| 99re视频精品| 欧美日韩在线精品一区二区三区激情| 91麻豆精品国产自产在线观看一区| 日韩欧美色综合网站| 国产精品久久久久影院亚瑟| 亚洲午夜免费电影| 国产麻豆精品theporn| 色8久久精品久久久久久蜜| 欧美一区二区三区免费视频| 欧美国产日韩一二三区| 亚洲高清在线精品| 看片的网站亚洲| 91美女在线观看| 国产精品拍天天在线| 九九九精品视频| 91网站黄www| 中文字幕日本不卡| 99国产精品一区| 亚洲精品菠萝久久久久久久| 在线观看日韩av先锋影音电影院| 亚洲激情图片qvod| 欧美一卡2卡三卡4卡5免费| 裸体歌舞表演一区二区| 久久久av毛片精品| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 亚洲欧洲无码一区二区三区| 性欧美疯狂xxxxbbbb| 成人av综合一区| 日韩美女一区二区三区| 亚洲欧美电影一区二区| 国产在线精品国自产拍免费| 欧美一区二区三区在线| 欧美性色黄大片手机版| 欧美视频在线播放| 中文乱码免费一区二区| 久久精品久久久精品美女| 欧美在线观看视频一区二区| 国产欧美视频一区二区三区| 蜜臀久久99精品久久久画质超高清 | 亚洲欧美日韩国产手机在线| 国产一区啦啦啦在线观看| 欧美一区二区视频在线观看2022| 亚洲色图制服诱惑| av爱爱亚洲一区| 日本一区二区三区国色天香| 美女一区二区三区| 欧美一区二区精品| 天堂成人免费av电影一区| 欧美日韩色一区| 亚洲成a人在线观看| 精品视频在线免费| 亚洲一区二区欧美激情| 欧美天堂一区二区三区| 亚洲一区二区三区四区在线 | 国产成人av资源| 国产三区在线成人av| 国产老女人精品毛片久久|