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

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

?? b_tree16.c

?? 綜合2叉樹及B+樹優點的能根據增刪改而分裂或合并的完整程序(現在以8bit(BYTE key)為關鍵字,可擴充到64bit的double為key,用戶數據包現在以float ton表示,可擴充到任意結
?? C
字號:
/*	2叉B樹(秩為Bi>1)之發明,效率,服務:

	(1.1)各節點:實體項數<=Bi*2,各項,依唯獨key,升序排;配有指向孩節點的2指針:
	左針所指各實體項key,小于本節點首實體key,右針所指...,大于本節點末實體key
	(1.2)滿插而分裂節點:父節點留中位3項,端2*(Bi-1)項,裂入也許新建的左右孩節點

	(Bi=3)
	對各關鍵[1,25]字k,設檢到k,需F(k)次,處理遞歸,需指令量級M(k)
	(2.1)數組存k時,F(k)=k,M(k)=0
		總搜索次數=1+2+...+25=325,均次=325/25=13
		需指令量級=0
	(2.2)當2分搜索判定樹存k,根key=13,F(13)=1,M(13)=0,左孩樹中,
		F(6)=2,M(6)=1,F(3)=3,M(3)=2,F(9)=3,M(9)=2,...,F(12)=5,M(12)=4
		搜索次=2+2*3+4*4+5*5=49
		需指令量級=1+2*2+4*3+5*4=37
		得對稱時:
		總搜索次=1+2*49=99,均次=99/25=3.96
		需指令量級=2*37=74,均=74/25=2.96
	(2.3)從中位向兩端,向樹交替插k時,根key=13,F(13)=1,M(13)=0,左孩樹中,
		F(9)=2,M(9)=1,F(5)=3,M(5)=2,F(1)=4,M(1)=3,...,F(12)=3,M(12)=2
  		搜索次=2+3+(3+4+5)+(4+5+6+7)+(4+5+6)=54
		需指令量級=1+4*2+7*3=30
		得對稱時:
		總搜索次=1+2*54=109,均次=109/25=4.36
		需指令量級=2*30=60,均=60/25=2.4

	(argv[1]:寬生%c%c)
	3.對含無符號字節型key,單浮點ton的項,實現:
	key升,樹存盤文件(export),從盤建樹(import),增add,刪del,改chg,搜索pry,遍歷tap*/

#include <io.h>
#include <conio.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
typedef unsigned char BYTE;

#define Bi 3
#define older 'o'
#define young 'y'

#define W_mode	_O_RDWR|_O_TRUNC|_O_CREAT
#define C_MODE	_S_IREAD|_S_IWRITE

#ifdef _DEBUG
//	#define Quota
#endif

#ifdef Quota
	size_t quota=0;
#endif

struct van_VA{
BYTE key;
float ton;
}van;

struct orb_VA{
BYTE L0R1,van_cnt;
struct van_VA van[Bi*2];
union{
struct van_VA dummy;//自序
struct orb_VA *LP_upp_orb;
}u;
struct orb_VA *LP_Less_orb,*LP_High_orb;
}*LP_top_orb;

typedef struct orb_VA *LP_orb_VA;

int jft;
BYTE orb_suf,age,use;
unsigned short van_tot=0;

union{
BYTE d83f[2+8+1+3+1];
struct van_VA sol[2];
LP_orb_VA lev[2];
}u;

void tile(void *d,void *s,BYTE c){
memmove(d,s,c*sizeof(struct van_VA));
}

void arc(LP_orb_VA L0,LP_orb_VA L1,BYTE van0){
L0->u.LP_upp_orb=L1;
L0->L0R1=orb_suf++;
if(!orb_suf){
	printf("\nsuf_ovflow");
	exit(0);
}
L0->van_cnt=Bi-1;
tile(&L0->van[0],&L1->van[van0],Bi-1);
}

int dep(BYTE *f,size_t o,size_t p){
if(!f){
	printf("\n[d:]83_fname:");
	scanf("%s",u.d83f);
	f=u.d83f;
}
return(jft=_open(f,o|_O_BINARY,p));
}

void in_key(){
printf("\nBYTE_key:");
scanf("%d",&van.key);
}

void in_ton(BYTE k,float *f){
#ifdef Quota
	*f=(float)(k+.1);
#else
	printf("\nreal_ton:");
	scanf("%f",f);
#endif
}

void heap(void **p){
	if(!(*p=calloc(1,sizeof(struct orb_VA))))
		exit(0);
#ifdef Quota
	quota+=sizeof(struct orb_VA);
#endif
}

void dbl_Bi(LP_orb_VA LP_ear_orb){
	LP_ear_orb->van_cnt--;
	LP_ear_orb->u.LP_upp_orb=u.lev[0];//恢復
}

void rpl_key_shod_van(LP_orb_VA LP_ear_orb){
	if(older==age)//姐
		if(LP_ear_orb->LP_Less_orb)
			rpl_key_shod_van(LP_ear_orb->LP_Less_orb);
		else
			tile(&van,&LP_ear_orb->van[0],1);
	else
		if(LP_ear_orb->LP_High_orb)
			rpl_key_shod_van(LP_ear_orb->LP_High_orb);
		else
			tile(&van,&LP_ear_orb->van[LP_ear_orb->van_cnt-1],1);
}

void rdy_rpl_key_shod_van(LP_orb_VA LP_ear_orb){
	tile(&u.sol[0],&van,1);//保存
	if(young==age)
		rpl_key_shod_van(LP_ear_orb->LP_Less_orb);
	else
		rpl_key_shod_van(LP_ear_orb->LP_High_orb);
	u.sol[1].key=van.key;
	tile(&van,&u.sol[0],1);//恢復
}

void add(LP_orb_VA LP_ear_orb){
	if(van.key<LP_ear_orb->van[0].key&&LP_ear_orb->LP_Less_orb){
		age=young;
		rdy_rpl_key_shod_van(LP_ear_orb);
		if(van.key<u.sol[1].key||Bi*2==LP_ear_orb->van_cnt){
			add(LP_ear_orb->LP_Less_orb);
			return;
		}
	}

	if(van.key>LP_ear_orb->van[LP_ear_orb->van_cnt-1].key&&LP_ear_orb->LP_High_orb){
		age=older;
		rdy_rpl_key_shod_van(LP_ear_orb);
		if(van.key>u.sol[1].key||Bi*2==LP_ear_orb->van_cnt){
			add(LP_ear_orb->LP_High_orb);
			return;
		}
	}

	u.lev[0]=LP_ear_orb->u.LP_upp_orb;//保存

	for(age=0;age!=LP_ear_orb->van_cnt;age++)//端捋
		if(LP_ear_orb->van[age].key>van.key)//升略
			break;

	tile(&LP_ear_orb->van[age+1],&LP_ear_orb->van[age],(BYTE)(LP_ear_orb->van_cnt-age));
	tile(&LP_ear_orb->van[age],&van,1);//序齊

	if(Bi*2+1==++LP_ear_orb->van_cnt)//分裂
		if(LP_ear_orb->LP_Less_orb){
			tile(&van,&LP_ear_orb->van[0],1);//首項裂入左孩
			tile(&LP_ear_orb->van[0],&LP_ear_orb->van[1],Bi*2);
			dbl_Bi(LP_ear_orb);
			add(LP_ear_orb->LP_Less_orb);
			return;
		}else
			if(LP_ear_orb->LP_High_orb){
				tile(&van,&LP_ear_orb->van[Bi*2],1);//末項裂入右孩
				dbl_Bi(LP_ear_orb);
				add(LP_ear_orb->LP_High_orb);
				return;
			}else{
				heap(&u.lev[1]);LP_ear_orb->LP_Less_orb=u.lev[1];arc(u.lev[1],LP_ear_orb,0);
				heap(&u.lev[1]);LP_ear_orb->LP_High_orb=u.lev[1];arc(u.lev[1],LP_ear_orb,(Bi+1)+1);
				LP_ear_orb->van_cnt=3;
				tile(&LP_ear_orb->van[0],&LP_ear_orb->van[Bi-1],3);
			}

	LP_ear_orb->u.LP_upp_orb=u.lev[0];//恢復
}

BYTE chg_or_pry1(LP_orb_VA LP_ear_orb){
	for(u.sol[0].key=0;u.sol[0].key!=LP_ear_orb->van_cnt;u.sol[0].key++)
		if(van.key==LP_ear_orb->van[u.sol[0].key].key){
			if('c'==use)
				in_ton(van.key,&LP_ear_orb->van[u.sol[0].key].ton);
			else
				if('p'==use)
					printf("\nton=%f",LP_ear_orb->van[u.sol[0].key].ton);
			return(1);
		}

	if(van.key<LP_ear_orb->van[0].key&&LP_ear_orb->LP_Less_orb)
		return(chg_or_pry1(LP_ear_orb->LP_Less_orb));

	if(van.key>LP_ear_orb->van[LP_ear_orb->van_cnt-1].key&&LP_ear_orb->LP_High_orb)
		return(chg_or_pry1(LP_ear_orb->LP_High_orb));

	return(0);
}

void del(LP_orb_VA LP_ear_orb){//入口older==age
BYTE i;
	for(i=0;i!=LP_ear_orb->van_cnt;i++)
		if(van.key==LP_ear_orb->van[i].key){
			if(LP_ear_orb->van_cnt>1){
				tile(&LP_ear_orb->van[i],&LP_ear_orb->van[i+1],(BYTE)((LP_ear_orb->van_cnt)-(i+1)));
				LP_ear_orb->van_cnt--;
			}else		
				if(LP_ear_orb->LP_High_orb){
					rpl_key_shod_van(LP_ear_orb->LP_High_orb);
					tile(&LP_ear_orb->van[0],&van,1);
					del(LP_ear_orb->LP_High_orb);
				}else{
					u.lev[0]=LP_ear_orb;

					if(LP_top_orb==LP_ear_orb)
						LP_top_orb=LP_top_orb->LP_Less_orb;
					else
						if(LP_ear_orb->u.LP_upp_orb->LP_Less_orb==LP_ear_orb)
							LP_ear_orb->u.LP_upp_orb->LP_Less_orb=LP_ear_orb->LP_Less_orb;
						else
							LP_ear_orb->u.LP_upp_orb->LP_High_orb=LP_ear_orb->LP_Less_orb;

					if(LP_ear_orb->LP_Less_orb)
						LP_ear_orb->LP_Less_orb->u.LP_upp_orb=LP_ear_orb->u.LP_upp_orb;

					free(u.lev[0]);
#ifdef Quota
					quota-=sizeof(struct orb_VA);
#endif
				}
			return;
		}

	if(van.key<LP_ear_orb->van[0].key)
		del(LP_ear_orb->LP_Less_orb);
	else
		del(LP_ear_orb->LP_High_orb);
}

void defix(){
	del(LP_top_orb);
	van_tot--;
}

void infix(BYTE i){
	if(i)
		in_ton(van.key,&van.ton);
	if(!van_tot){//top_L0R1=0
		orb_suf=1;
		heap(&LP_top_orb);
	}
	add(LP_top_orb);
	van_tot++;
}

void tap(LP_orb_VA LP_ear_orb){
	if(LP_ear_orb->LP_Less_orb)
		tap(LP_ear_orb->LP_Less_orb);
	if('t'==use){
		printf("\norb_L0R1=%02d,upp_key=%02d",LP_ear_orb->L0R1,LP_ear_orb->u.LP_upp_orb?LP_ear_orb->u.LP_upp_orb->L0R1:0);
		for(u.sol[0].key=0;u.sol[0].key!=LP_ear_orb->van_cnt;u.sol[0].key++)
			printf("\n\tkey=%02d,ton=%f",LP_ear_orb->van[u.sol[0].key].key,LP_ear_orb->van[u.sol[0].key].ton);
		while(!kbhit());getch();
	}else
		write(jft,&LP_ear_orb->van[0],LP_ear_orb->van_cnt*sizeof(struct van_VA));
	if(LP_ear_orb->LP_High_orb)
		tap(LP_ear_orb->LP_High_orb);
}

typedef union{
int i;
char c[4];
}ic;

void main(ic c,char *v[]){
	if(2==c.i&&-1!=dep(v[1],W_mode,C_MODE)){
		while(1){
			c.c[3]=0;
			while(1){
				write(jft,&c.c[2],2);
				if(!(++c.c[3]))
					break;
			}
			if(!(++c.c[2]))
				break;
		}
		close(jft);
	}

	for(;;){
#ifdef Quota
	printf("\nquota=%#x",quota);
#endif
		printf("\narg1<-[0,ff]*[0,ff];Bi=%d;a(dd),b(ye),c(hg),d(el),e(xport),i(mport:(data*mul+add)->mount),p(ry),t(ap,^C)",Bi);

		switch(use=getche()){
			case 'a':in_key();if(!van_tot||!chg_or_pry1(LP_top_orb))infix(1);continue;
			case 'b':return;
			case 'c':case 'd':case 'p':case 'e':case 't':
				if(van_tot){
					switch(use){
						case 'c':case 'd':case 'p':
							in_key();
							if(chg_or_pry1(LP_top_orb)&&'d'==use){								
								age=older;
								defix();
							}continue;
						case 'e':
							if(-1!=dep(NULL,W_mode,C_MODE)){
								tap(LP_top_orb);
								close(jft);
							}continue;
						case 't':
							printf("\norb_suf=%02d,ascend_van_tot=%d",orb_suf,van_tot);
							tap(LP_top_orb);
					}
				}continue;
			case 'i':
				if(-1!=dep(NULL,_O_RDONLY,0)){
					printf("\n[-128,127]_mul:");
					scanf("%d",&c.c[0]);

					printf("[-128,127]_add:");
					scanf("%d",&c.c[1]);

					while(read(jft,&van,sizeof(struct van_VA))){
						van.key=van.key*c.c[0]+c.c[1];
						van.ton=van.ton*c.c[0]+c.c[1];
						if(!van_tot||!chg_or_pry1(LP_top_orb))
							infix(0);
					}
					close(jft);
				}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久不卡影院| 色88888久久久久久影院野外| 国产精品伦理在线| 国产精品日产欧美久久久久| 欧美性做爰猛烈叫床潮| 91年精品国产| 欧美在线一区二区| 欧美不卡在线视频| 欧美va天堂va视频va在线| 精品国产人成亚洲区| 久久久精品日韩欧美| 中文字幕高清不卡| 亚洲天堂精品在线观看| 夜夜精品视频一区二区| 五月激情六月综合| 国产在线精品一区二区不卡了 | 欧美高清视频一二三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91麻豆精品视频| 欧美日韩久久一区二区| 精品美女一区二区| 国产精品女上位| 亚洲香肠在线观看| 黑人巨大精品欧美一区| k8久久久一区二区三区| 精品视频在线看| 久久久久久久久久久99999| 最好看的中文字幕久久| 三级久久三级久久| 成人三级伦理片| 555www色欧美视频| 国产精品欧美综合在线| 午夜伊人狠狠久久| 成人激情黄色小说| 欧美一区二区三区喷汁尤物| 中文字幕+乱码+中文字幕一区| 亚洲精品乱码久久久久久日本蜜臀| 日本欧美久久久久免费播放网| 久久国产综合精品| 91精品办公室少妇高潮对白| 精品国产一区二区三区久久影院| 成人欧美一区二区三区黑人麻豆 | 日本精品视频一区二区三区| 欧美va亚洲va香蕉在线| 亚洲午夜在线观看视频在线| 国产成人综合在线播放| 欧美日韩免费一区二区三区 | 成人不卡免费av| 欧美综合天天夜夜久久| 日韩欧美一级二级| 亚洲一区二区三区四区的| 国产成人综合网| 91精品国产综合久久福利| 亚洲人成在线观看一区二区| 国产在线精品国自产拍免费| 欧美日韩不卡一区| 一区二区三区毛片| 99久久综合国产精品| 国产亚洲va综合人人澡精品| 免费观看久久久4p| 欧美一二三区在线| 亚洲一区在线观看免费观看电影高清 | 国产一区二区电影| 911国产精品| 亚洲一区中文在线| 欧美性一级生活| 亚洲色图视频网站| 91视频你懂的| 亚洲天堂免费看| 色琪琪一区二区三区亚洲区| 国产精品午夜电影| 成人午夜短视频| 国产精品天天摸av网| 成人丝袜高跟foot| 国产欧美精品一区aⅴ影院| 国产精品18久久久久久vr| 欧美zozozo| 国产乱码精品一区二区三区忘忧草| 欧美一区二区三区免费在线看 | 欧美一区二区三区人| 视频一区视频二区中文| 欧美精品一卡两卡| 青青草97国产精品免费观看无弹窗版| 欧美日本精品一区二区三区| 视频一区中文字幕国产| 日韩视频在线一区二区| 国产一区激情在线| 欧美三区在线视频| 99久久免费视频.com| 国产日韩欧美一区二区三区乱码 | 91小视频免费看| 中文字幕欧美一区| 色视频一区二区| 水蜜桃久久夜色精品一区的特点 | 国产色产综合色产在线视频| 成人激情av网| 亚洲综合色婷婷| 欧美一区二区大片| 国产高清亚洲一区| 一区二区三区精品视频在线| 欧美福利视频导航| 国产毛片一区二区| 亚洲一本大道在线| 久久综合久久鬼色中文字| caoporn国产精品| 国产成人亚洲综合a∨婷婷图片| 99久久99久久免费精品蜜臀| 一区二区三区欧美日韩| 日韩三级中文字幕| 99久久免费精品| 日韩国产高清在线| 国产精品久久国产精麻豆99网站| 在线免费观看一区| 国产美女娇喘av呻吟久久| 一级精品视频在线观看宜春院| 26uuu精品一区二区在线观看| 91热门视频在线观看| 蜜桃av一区二区三区电影| 综合久久国产九一剧情麻豆| 日韩免费高清av| 欧美天堂一区二区三区| 国产91丝袜在线观看| 日产国产高清一区二区三区| 国产精品剧情在线亚洲| 日韩欧美123| 欧美三区在线观看| 色综合久久综合网97色综合 | 国产喷白浆一区二区三区| 在线免费不卡视频| 成人激情开心网| 国产剧情一区二区| 久久精品久久综合| 亚洲电影在线免费观看| 中文字幕综合网| 国产欧美精品在线观看| 久久综合九色综合97婷婷女人| 欧美丰满一区二区免费视频 | 五月天激情综合网| 亚洲精品老司机| 自拍偷拍欧美精品| 国产精品私房写真福利视频| 久久久蜜桃精品| 日韩精品一区在线| 欧美成人aa大片| 欧美va亚洲va在线观看蝴蝶网| 在线电影一区二区三区| 欧美影院午夜播放| 欧美体内she精高潮| 欧美影视一区在线| 欧美午夜不卡在线观看免费| 在线日韩一区二区| 欧美系列在线观看| 欧美疯狂做受xxxx富婆| 日韩一区二区免费在线电影| 欧美精品一二三区| 日韩视频不卡中文| 久久久午夜精品理论片中文字幕| 精品国产伦一区二区三区免费 | 久久九九久久九九| 欧美韩日一区二区三区| 国产精品女上位| 一区二区三区日韩| 偷拍一区二区三区| 免费成人av资源网| 国产精一区二区三区| 成人av在线电影| 在线免费观看日韩欧美| 欧美电影影音先锋| 久久久亚洲精品一区二区三区| 久久综合久久鬼色| 亚洲欧美日韩中文播放| 午夜精品久久一牛影视| 麻豆成人久久精品二区三区小说| 国产综合久久久久久久久久久久| 国产成人综合精品三级| 91视频在线观看| 日韩精品自拍偷拍| 一色桃子久久精品亚洲| 亚洲高清视频在线| 国产一区二区三区在线观看精品 | 国产精品99久久久| av综合在线播放| 欧美夫妻性生活| 国产亲近乱来精品视频| 亚洲成人激情自拍| 国产毛片精品国产一区二区三区| a亚洲天堂av| 日韩一级欧美一级| 亚洲女同女同女同女同女同69| 视频一区国产视频| 成人理论电影网| 日韩一级片在线观看| 国产精品护士白丝一区av| 日本一区中文字幕| 成人av网站在线观看免费| 91精品在线麻豆| 中文字幕视频一区| 国产精品1区2区| 欧美一级片在线| 亚洲一级二级三级|