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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fifo.h

?? Socket異步通信示程序代 - Socket異步通信...
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):
  }
  Tx GetValX()
  {
    return CFifoX<Tx>::GetValX();
  }

  void SetValY(Ty  Y)
  {
    if(!this)  { return;}
    m_Y      = Y;
  }
  Ty GetValY()
  {
    return m_Y;
  }

  Tx* GetpValX()
  {
    if(!this)  { return 0;}
    return &m_X;
  }
  Ty* GetpValY()
  {
    if(!this)  { return 0;}
    return &m_Y;
  }
  void GetpValue(Tx*& pX,Ty*& pY)
  {
    if(!this)  { return;}
    pX      = &m_X;
    pY      = &m_Y;
  }
  void GetpValue(Tx*& pX,Ty*& pY,int& nSize)
  {
    GetpValue(pX,pY);
    CFifo::GetValue(nSize);
  }
  void GetValue(Tx& X,Ty& Y)
  {
    if(!this)  { return;}
    X      = m_X;
    Y      = m_Y;
  }
  void GetValue(Tx& X,Ty& Y,int& nSize)
  {
    GetValue(X,Y);
    CFifo::GetValue(nSize);
  }

  void SetValue(Tx  X)
  {
    if(!this)  { return;}
    m_X      = X;
  }
  void SetValue(Tx  X,Ty  Y)
  {
    if(!this)  { return;}
    m_X      = X;
    m_Y      = Y;
  }
  void SetValue(Tx  X,Ty  Y,int  nSize)
  {
    SetValue(X,Y);
    CFifo::SetValue(nSize);
  }

};


template<class Tx,class Ty>
class CFifoXY : public CFifo
{
protected:
	CFifo* m_r[2];
	Tx m_X;
	Ty m_Y;

	CFifo**  get_r() //獲取子樹指針;
	{
		if(!this) return 0;
		return m_r;
	}
public:
	//缺省構(gòu)造器內(nèi)未對(duì)所有成員變量初始化,
	//需要釋放指針時(shí)為防止調(diào)用pClearX或pClearY函數(shù)出錯(cuò),
	//需要對(duì)調(diào)用點(diǎn)的成員變量進(jìn)行設(shè)置0值或new分配的對(duì)象;
	CFifoXY() : CFifo(0)
	{
		m_r[0] = 0;
		m_r[1] = 0;
		//m_X = X;	//缺省參數(shù)有可能類型不匹配;
		//m_Y = Y;	//缺省參數(shù)有可能類型不匹配;
	}
	CFifoXY(Tx X,Ty Y) : CFifo(0)
	{
		m_r[0] = 0;
		m_r[1] = 0;
		m_X = X;
		m_Y = Y;
	}
	~CFifoXY()
	{
		try
		{
		}
		catch(...)
		{
		}

		Clear();
	}

	//兩查找函數(shù)等效,比較靜態(tài)函數(shù)和非靜態(tài)函數(shù)區(qū)別!!靜態(tài)函數(shù)傳入調(diào)用點(diǎn)!只要在遞歸的過程中有返回,函數(shù)返回;
	CFifoXY* Find(int& h,const Tx X,const Ty Y,bool bXorY = true) //初始傳入深度0;
	{
		if( bXorY&&m_X==X || !bXorY&&m_Y==Y )  return this;
		if( m_nSize>0 )
		{
			CFifoXY* o2 = GetFirst();
			for(int i=0;i<m_nSize;i++)
			{
				h++;
				CFifoXY* ol = o2->Find(h,X,Y,bXorY);
				if(ol)  return ol;  //不能以ol和o2 相等做判斷!(最終遞歸返回不同于當(dāng)前深度)
				h--;
				o2 = o2->Next();
			}
		}
		return 0;
	}
	static  CFifoXY* Find(CFifoXY* o1,const Tx X,const Ty Y,bool bXorY = true)
	{ 
		if( bXorY&&o1->m_X==X || !bXorY&&o1->m_Y==Y )	return o1;
		if(o1->GetSize())
		{
			CFifoXY* o2 = o1->GetFirst();
			for(int i1=0;i1<o1->GetSize();i1++)
			{
				CFifoXY* ol = Find(o2,X,Y,bXorY);
				if(ol)  return ol;  //不能以ol和o2相等做判斷!(最終遞歸返回不同于當(dāng)前深度)
				o2 = o2->Next();
			}
		}
		return 0;  
	}

	static void Cpy(CFifoXY*  Source,CFifoXY* Dest)
	{ //從根節(jié)點(diǎn)開始;
		if(Source==0||Dest==0)	return;
		Dest->SetValX( *Source->GetpValX() );
		Dest->SetValY( *Source->GetpValY() );
		if(!Source->GetSize() ) return;
		const int size = Source->GetSize();
		CFifoXY* o0,* o1 = Source->GetFirst();
		for(int k=0;k<size;k++)
		{
			o0 = Dest->rpush();	//size會(huì)自動(dòng)計(jì)算;
			Cpy( o1,o0 );
			o1 = o1->Next();
		}
	}

	//從樹狀隊(duì)列賦值到線型隊(duì)列:
	static void Cpy1(CFifoXY*  Source,CFifoY<Tx,Ty>* Dest,bool bRev=true)	//隊(duì)列是正向還是逆向存儲(chǔ)參數(shù)!
	{ //從根節(jié)點(diǎn)開始;
		if(Source==0||Dest==0)	return;
		CFifoY<Tx,Ty>*  o = bRev? Dest->lpush() : Dest->rpush();
		o->SetValX( *Source->GetpValX() );
		o->SetValY( *Source->GetpValY() );

		if(!Source->GetSize() ) return;
		const int size = Source->GetSize();
		CFifoXY* o1 = Source->GetFirst();
		for(int k=0;k<size;k++)
		{
			Cpy1( o1,Dest,bRev );	//警告:圖在靜態(tài)遞歸函數(shù)內(nèi)使用靜態(tài)變量;因?yàn)椴皇敲看伍_始調(diào)用時(shí)都執(zhí)行對(duì)該靜態(tài)變量的初始化操作!!
			o1 = o1->Next();
		}
	}

	void pClearX(bool bArr=false) //%/指針型值域,對(duì)象在Clear-函數(shù)前調(diào)用;
	{
		if(!bArr)  delete    ((CFifoXY*)this)->m_X;
		else       delete [] ((CFifoXY*)this)->m_X;

		if( this&&GetFirst() ) //%/原始為:(*(_r+1));
		{
			CFifo* p,* q = GetFirst(); //%/原始為:(*(_r+1));
			while( q )
			{
				p = q;
				q = q->Next(); //%/原始為:q = q->m_t[0];
				((CFifoXY*)p)->pClearX(bArr);  //派生類;
			} 
		} 
	}
	void pClearY(bool bArr=false) //%/指針型值域,對(duì)象在Clear-函數(shù)前調(diào)用;
	{
		if(!bArr)  delete    ((CFifoXY*)this)->m_Y;
		else       delete [] ((CFifoXY*)this)->m_Y;

		if( this&&GetFirst() ) //%/原始為:(*(_r+1));
		{
			CFifo* p,* q = GetFirst(); //%/原始為:(*(_r+1));
			while( q )
			{
				p = q;
				q = q->Next(); //%/原始為:q = q->m_t[0];
				((CFifoXY*)p)->pClearY(bArr);  //派生類;
			} 
		} 
	}

	CFifoXY* GetFirst(bool bHead= true)
	{
		return (CFifoXY*)CFifo::GetFirst(bHead);
	}
	CFifoXY* Next (bool bHead= true)
	{
		return (CFifoXY*)CFifo::Next (bHead);
	}

	//將其它隊(duì)列中剪切下來的節(jié)點(diǎn)插入到當(dāng)前隊(duì)列中-函數(shù)1:
	CFifoXY* rpush(CFifo* o)
	{
		return (CFifoXY*)CFifo::rpush( o );
	}
	//將其它隊(duì)列中剪切下來的節(jié)點(diǎn)插入到當(dāng)前隊(duì)列中-函數(shù)2:
	CFifoXY* lpush(CFifo* o)
	{
		return (CFifoXY*)CFifo::lpush( o );
	}

	//缺省push函數(shù):
	CFifoXY* rpush()
	{
		return (CFifoXY*)CFifo::rpush( new CFifoXY() );
	}
	CFifoXY* lpush()
	{
		return (CFifoXY*)CFifo::lpush( new CFifoXY() );
	}
	CFifoXY* rpush(Tx X,Ty Y)
	{
		return (CFifoXY*)CFifo::rpush( new CFifoXY(X,Y) );
	}
	CFifoXY* lpush(Tx X,Ty Y)
	{
		return (CFifoXY*)CFifo::lpush( new CFifoXY(X,Y) );
	}
	CFifoXY* lpop()
	{
		return (CFifoXY*)CFifo::lpop();
	}
	CFifoXY* rpop()
	{
		return (CFifoXY*)CFifo::rpop();
	}

	void GetValue(Tx*& pX,Ty*& pY)
	{
		if(!this)  { return;}
		pX      = &m_X;
		pY      = &m_Y;
	}

	Tx* GetpValX()
	{
		if(!this)  { return 0;}
		return &m_X;
	}
	Ty* GetpValY()
	{
		if(!this)  { return 0;}
		return &m_Y;
	}
	Tx GetValX()
	{
		return m_X;
	}
	Ty GetValY()
	{
		return m_Y;
	}
	void SetValX(Tx  X)
	{
		if(!this)  { return;}
		m_X      = X;
	}
	void SetValY(Ty  Y)
	{
		if(!this)  { return;}
		m_Y      = Y;
	}
	void GetValue(Tx& X,Ty& Y)
	{
		if(!this)  { return;}
		X      = m_X;
		Y      = m_Y;
	}
	void SetValue(Tx  X,Ty  Y)
	{
		if(!this)  { return;}
		m_X      = X;
		m_Y      = Y;
	}

};



////////////////////////////////////////////////////////////////////////////////////////////////
//定義標(biāo)準(zhǔn)數(shù)組隊(duì)列類:
template<class Tx>
class CFifoA : public CFifo
{
protected:
  Tx* m_arr;
  int   m_len;

  void SetValue(Tx* c  ,int l  ,bool bCreate)
  {
    if(!bCreate) delete [] m_arr;
    m_arr = 0;
    m_len = 0;
    if(l>0)
	try
    {
      int i;
      m_arr = new Tx[l];
      m_len = l;
      for(i=0;i<l;i++)m_arr[i] = c[i];
    }
    catch(...)
    {
    }
  }
public:
  CFifoA(Tx* c=0,int l=0,int nSize=0) : CFifo(nSize)
  {
    SetValue(c,l, true);
  }
  ~CFifoA()
  {
    try
    {
      delete [] m_arr;  m_arr = 0;  m_len = 0;
    }
    catch(...)
    {
    }
    Clear();
  }

  CFifoA* GetFirst(bool bHead= true)
  {
    return (CFifoA*)CFifo::GetFirst(bHead);
  }
  CFifoA* Next (bool bHead= true)
  {
    return (CFifoA*)CFifo::Next (bHead);
  }

  CFifoA* rpush(Tx* c=0,int l=0,int nSize=0)
  {
    return (CFifoA*)CFifo::rpush( new CFifoA(c,l,nSize) );
  }
  CFifoA* lpush(Tx* c=0,int l=0,int nSize=0)
  {
    return (CFifoA*)CFifo::lpush( new CFifoA(c,l,nSize) );
  }
  CFifoA* lpop()
  {
    return (CFifoA*)CFifo::lpop();
  }
  CFifoA* rpop()
  {
    return (CFifoA*)CFifo::rpop();
  }

  void GetValue(Tx*& c,int& l)
  {
    if(!this)  { c=0;l=0;  return;}
    c      = m_arr;
    l      = m_len;
  }
  void GetValue(Tx*& c,int& l,int& nSize)
  {
    CFifo::GetValue(nSize);
    GetValue(c,l);
  }

  void SetValue(Tx*  c,int  l)
  {
	SetValue(c,l,false);
  }
  void SetValue(Tx*  c,int  l,int  nSize)
  {
    CFifo::SetValue(nSize);
	SetValue(c,l); //使用上一函數(shù)代碼;
  }

};
////////////////////////////////////////////////////////////////////////////////////////////////



//存儲(chǔ)一個(gè)字符串隊(duì)列類:(補(bǔ)空字符)
class CFifo1 : public CFifo
{
protected:
  char* m_arr;
  int   m_len;

  void SetValue(char* c  ,int l  ,bool bCreate)
  {
    if(!bCreate) delete [] m_arr;
    if(l<0)  l = 0;
    try
    {
      int i;
      m_arr = new char[l+1];  m_arr[l] = 0;
      m_len = l;      
      for(i=0;i<l;i++)  m_arr[i] = c[i];
    }
    catch(...)
    {
    }
  }
public:
  CFifo1(char* c=0,int l=0,int nSize=0) : CFifo(nSize)
  {
    SetValue(c,l, true);
  }
  ~CFifo1()
  {
    try
    {
      delete [] m_arr;  m_arr = 0;  m_len = 0;
    }
    catch(...)
    {
    }
    Clear();
  }

  CFifo1* GetFirst(bool bHead= true)
  {
    return (CFifo1*)CFifo::GetFirst(bHead);
  }
  CFifo1* Next (bool bHead= true)
  {
    return (CFifo1*)CFifo::Next (bHead);
  }

  CFifo1* rpush(char* c=0,int l=0,int nSize=0)
  {
    return (CFifo1*)CFifo::rpush( new CFifo1(c,l,nSize) );
  }
  CFifo1* lpush(char* c=0,int l=0,int nSize=0)
  {
    return (CFifo1*)CFifo::lpush( new CFifo1(c,l,nSize) );
  }
  CFifo1* lpop()
  {
    return (CFifo1*)CFifo::lpop();
  }
  CFifo1* rpop()
  {
    return (CFifo1*)CFifo::rpop();
  }

  void GetValue(char*& c,int& l)
  {
    if(!this)  { c=0;l=0;  return;}
    c      = m_arr;
    l      = m_len;
  }
  void GetValue(char*& c,int& l,int& nSize)
  {
    nSize = CFifo::GetvSize();
    GetValue(c,l);
  }

  void SetValue(char*  c,int  l)
  {
	SetValue(c,l,false);
  }
  void SetValue(char*  c,int  l,int  nSize)
  {
    CFifo::SetvSize(nSize);
	SetValue(c,l); //使用上一函數(shù)代碼;
  }

};



//存儲(chǔ)兩個(gè)字符串的隊(duì)列類:(補(bǔ)空字符)
class CFifo2 : public CFifo1
{
protected:
  char* m_str;
  int   m_siz;

  void SetValue(char* s  ,int z  ,bool bCreate)
  {
    if(!bCreate) delete [] m_str;
    if(z<0)  z = 0;
    try
    {
      int i;
      m_str = new char[z+1];  m_str[z] = 0;
      m_siz = z;      
      for(i=0;i<z;i++)  m_str[i] = s[i];
    }
    catch(...)
    {
    }
  }
public:
  CFifo2(char* c=0,int l=0,char* s=0,int z=0,int nSize=0) : CFifo1(c,l,nSize)
  {
    SetValue(s,z, true);
  }
  ~CFifo2()
  {
    try
    {
      delete [] m_str;  m_str = 0;  m_siz = 0;
    }
    catch(...)
    {
    }
    Clear();
  }

  CFifo2* GetFirst(bool bHead= true)
  {
    return (CFifo2*)CFifo::GetFirst(bHead);
  }
  CFifo2* Next (bool bHead= true)
  {
    return (CFifo2*)CFifo::Next (bHead);
  }

  CFifo2* rpush(char* c=0,int l=0,char* s=0,int z=0,int nSize=0)
  {
    return (CFifo2*)CFifo::rpush( new CFifo2(c,l,s,z,nSize) );
  }
  CFifo2* lpush(char* c=0,int l=0,char* s=0,int z=0,int nSize=0)
  {
    return (CFifo2*)CFifo::lpush( new CFifo2(c,l,s,z,nSize) );
  }
  CFifo2* lpop()
  {
    return (CFifo2*)CFifo::lpop();
  }
  CFifo2* rpop()
  {
    return (CFifo2*)CFifo::rpop();
  }

  void GetValue(char*& c,int& l)
  {
    CFifo1::GetValue(c,l);
  }
  void GetValue(char*& c,int& l,char*& s,int& z)
  {
    GetValue(c,l);
    if(!this)  { s=0;z=0;  return;}
    s      = m_str;
    z      = m_siz;
  }
  void GetValue(char*& c,int& l,char*& s,int& z,int& nSize)
  {
    nSize = CFifo::GetvSize();
    GetValue(c,l,s,z);
  }

  void SetValue(char*  c,int  l,char*  s,int  z)
  {
    CFifo1::SetValue(c,l,false);
    SetValue(s,z,false);
  }
  void SetValue(char*  c,int  l,char*  s,int  z,int  nSize)
  {
    nSize = CFifo::GetvSize();
    SetValue(c,l,s,z); //使用上一函數(shù)代碼;
  }

};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看日韩精品电影| 日韩欧美久久一区| 美女脱光内衣内裤视频久久网站| 国产精品久久久久永久免费观看 | 欧美bbbbb| 亚洲欧美日韩久久| 精品国产乱子伦一区| 在线观看日韩国产| 国产成人av网站| 乱中年女人伦av一区二区| 亚洲一线二线三线视频| 亚洲国产精品国自产拍av| 精品国产一区二区在线观看| 欧美乱熟臀69xxxxxx| 91在线播放网址| 成人中文字幕合集| 蜜桃一区二区三区在线观看| 午夜久久久久久电影| 一区二区三区日韩精品| 中文字幕在线不卡视频| 国产婷婷色一区二区三区| 日韩欧美国产系列| 日韩一区国产二区欧美三区| 欧美精品日日鲁夜夜添| 91久久精品一区二区二区| eeuss鲁一区二区三区| 国产麻豆一精品一av一免费| 久久99久久久久| 日韩精品电影在线| 午夜成人免费视频| 午夜一区二区三区在线观看| 一个色妞综合视频在线观看| 亚洲精品一二三四区| 亚洲色图视频网站| 亚洲免费观看高清| 亚洲精品水蜜桃| 亚洲精品ww久久久久久p站| 亚洲欧美日韩综合aⅴ视频| 1区2区3区精品视频| 国产精品第五页| 亚洲人成网站色在线观看| 亚洲日本免费电影| 亚洲精品国产精华液| 亚洲综合免费观看高清完整版 | 欧美色综合网站| 91国模大尺度私拍在线视频| 日本精品视频一区二区三区| 欧美视频在线一区| 欧美精品一二三| 欧美电影免费观看高清完整版在线 | 天天av天天翘天天综合网| 亚洲123区在线观看| 日韩精品每日更新| 韩国av一区二区三区在线观看| 激情综合色综合久久| 国产精品一区二区三区乱码| 不卡的av电影在线观看| 在线日韩av片| 欧美一级片在线看| 精品99一区二区| 亚洲国产精品99久久久久久久久| 亚洲欧美aⅴ...| 日韩主播视频在线| 国产精品亚洲第一| 91麻豆福利精品推荐| 欧美日韩一区在线| 亚洲精品在线一区二区| 国产精品免费丝袜| 亚洲一卡二卡三卡四卡| 美腿丝袜亚洲一区| 成人一区二区三区| 色综合久久中文综合久久97| 在线91免费看| 欧美激情一二三区| 午夜精品成人在线视频| 国内精品伊人久久久久av影院 | 欧美性xxxxxx少妇| 日韩视频免费直播| 国产精品国产自产拍高清av | 国产自产v一区二区三区c| 99久久国产综合精品女不卡| 制服丝袜av成人在线看| 日本一区二区三级电影在线观看 | 亚洲综合无码一区二区| 蜜臀久久99精品久久久久宅男| 成人小视频在线| 欧美一级理论片| 亚洲三级小视频| 精品无人码麻豆乱码1区2区 | 成人妖精视频yjsp地址| 欧美日韩大陆在线| 欧美国产一区视频在线观看| 日韩激情一二三区| 99riav久久精品riav| 精品久久久久久久一区二区蜜臀| 亚洲精品免费在线观看| 国产精品一级二级三级| 91精品国产综合久久香蕉麻豆| 国产精品久久夜| 极品瑜伽女神91| 欧美日韩另类一区| 中文字幕精品一区二区精品绿巨人 | 97精品久久久午夜一区二区三区 | 国产女人aaa级久久久级| 午夜精品久久久久久久久久久| 成人在线视频首页| 欧美电影免费观看高清完整版在| 亚洲精品视频免费看| 成人avav在线| 久久精品在线观看| 免费成人性网站| 欧美理论片在线| 亚洲精品国产一区二区精华液| 国产jizzjizz一区二区| 精品国产1区2区3区| 日韩国产欧美在线视频| 91豆麻精品91久久久久久| 国产精品五月天| 国产成人亚洲精品青草天美| 欧美mv日韩mv亚洲| 三级亚洲高清视频| 精品视频全国免费看| 亚洲激情图片一区| 色综合色狠狠综合色| 国产精品美女久久久久久| 国产福利一区二区| 国产亚洲欧美日韩日本| 国产一区久久久| 精品久久久久香蕉网| 毛片av一区二区| 精品久久人人做人人爽| 久久99精品国产麻豆不卡| 日韩一区二区三| 久久精品国产免费| 精品成人私密视频| 国产一区二区不卡老阿姨| 2024国产精品| 国产99精品国产| 国产精品视频线看| 95精品视频在线| 亚洲精品国产第一综合99久久 | 成人一区在线观看| 国产精品免费视频一区| 99久久亚洲一区二区三区青草| 国产精品传媒入口麻豆| 色域天天综合网| 亚洲福利视频一区二区| 在线观看91av| 韩国女主播成人在线| 国产日韩三级在线| 99精品欧美一区| 亚洲一区二区免费视频| 欧美一区二区三区精品| 精品在线你懂的| 欧美激情自拍偷拍| 91丨国产丨九色丨pron| 亚洲va天堂va国产va久| 日韩视频不卡中文| 国产不卡视频在线播放| 伊人色综合久久天天人手人婷| 欧美老人xxxx18| 国内精品写真在线观看| 亚洲日本电影在线| 欧美日韩mp4| 国产又黄又大久久| 亚洲三级免费观看| 欧美一级黄色片| 成人av资源网站| 亚洲第一电影网| 26uuu精品一区二区在线观看| 成人白浆超碰人人人人| 天使萌一区二区三区免费观看| 久久综合九色综合欧美就去吻 | 日本欧美久久久久免费播放网| 久久久久久久久久看片| 一本色道久久综合亚洲精品按摩| 三级欧美在线一区| 国产精品久久久久久久久快鸭| 欧美理论电影在线| 成人免费看片app下载| 日韩国产欧美三级| 中文一区二区在线观看| 欧美久久高跟鞋激| 懂色一区二区三区免费观看| 亚洲大片免费看| 欧美国产日产图区| 制服视频三区第一页精品| av在线不卡网| 老司机精品视频在线| 一区二区三区精密机械公司| 国产色一区二区| 欧美一二三四在线| 91麻豆精东视频| 国产91丝袜在线18| 麻豆成人91精品二区三区| 亚洲欧美日韩久久| 国产日韩三级在线| 欧美成人bangbros| 欧美三级日韩三级| 91蜜桃免费观看视频|