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

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

?? oblist.cxx

?? oracle oci 輕量級封裝庫,很方便和實用!適合于簡單的數據庫操作.絕對精品.垃圾就不上傳了.
?? CXX
字號:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "oblist.h"

DBObject::DBObject()
{ 
}

ObList::ObList()
{ 
	m_pNodeHead	=NULL;
	m_pNodeTail	=NULL;
	m_nCount	=0;
}
ObList::~ObList()
{
	RemoveAll();
	assert(m_nCount == 0);
}

Node* ObList::NewNode()
{
	Node* pNode=new Node;
	pNode->data=NULL;
	pNode->pPrev=NULL;
	pNode->pNext=NULL;

	return pNode;
}
void ObList::RemoveHead()
{
	assert(m_pNodeHead != NULL); 

	Node* pOldNode = m_pNodeHead;

	m_pNodeHead = pOldNode->pNext;
	if (m_pNodeHead != NULL)
		m_pNodeHead->pPrev = NULL;
	else
		m_pNodeTail = NULL;

	delete pOldNode;
	m_nCount--;
}
void ObList::RemoveTail()
{
	assert(m_pNodeTail != NULL);

	Node* pOldNode = m_pNodeTail;

	m_pNodeTail = pOldNode->pPrev;
	if (m_pNodeTail != NULL)
		m_pNodeTail->pNext = NULL;
	else
		m_pNodeHead = NULL;

	delete pOldNode;
	m_nCount--;
}
void ObList::RemoveAll()
{
	while(m_pNodeTail)
		RemoveTail();
	m_pNodeHead = NULL;
}
void ObList::RemoveAt(Node* node)
{
	Node* pOldNode = node;

	if (pOldNode == m_pNodeHead)
		m_pNodeHead = pOldNode->pNext;
	else
		pOldNode->pPrev->pNext = pOldNode->pNext;

	if (pOldNode == m_pNodeTail)
		m_pNodeTail = pOldNode->pPrev;
	else
		pOldNode->pNext->pPrev = pOldNode->pPrev;

	delete pOldNode;
	m_nCount--;
}
void ObList::RemoveAt(int nIndex)
{
	Node* pOldNode = GetAt(nIndex);
	if(pOldNode)
		RemoveAt(pOldNode);
}
void ObList::AddHead(void* newElement)
{
	Node* pNewNode = NewNode();
	pNewNode->data = newElement;
	if (m_pNodeHead != NULL)
	{
		m_pNodeHead->pPrev = pNewNode;
		pNewNode->pNext  = m_pNodeHead;
	}
	else
		m_pNodeTail = pNewNode;

	m_pNodeHead = pNewNode;
	m_nCount++;
}

void ObList::AddTail(void* newElement)
{
	Node* pNewNode = NewNode();
	pNewNode->data = newElement;
	if (m_pNodeTail != NULL)
	{
		m_pNodeTail->pNext = pNewNode;
		pNewNode->pPrev  = m_pNodeTail;
	}
	else
		m_pNodeHead = pNewNode;

	m_pNodeTail = pNewNode;
	m_nCount++;
}

Node* ObList::GetNext(Node* node)
{
	if (node == NULL)
		return NULL;
	else
		return node->pNext;
} 
Node* ObList::GetPrev(Node* node) 
{
	if (node == NULL)
		return NULL;
	else
		return node->pPrev;
}

Node* ObList::GetAt(int nIndex)
{
	if (nIndex >= m_nCount || nIndex < 0)
		return NULL;  

	Node* pNode = m_pNodeHead;
	while (nIndex--)
		pNode = pNode->pNext;

	return pNode;
}
void ObList::SetAt(int nIndex,void* newElement)
{
	if (nIndex >= m_nCount || nIndex < 0)
		return ;  

	Node* pNode = m_pNodeHead;
	while (nIndex--)
		pNode = pNode->pNext;
	
	pNode->data=newElement;
}

Node* ObList::InsertBefore(Node* node, void* newElement)
{
	if (node == NULL || node->pPrev == NULL)
	{
		AddHead(newElement); 
		return m_pNodeHead;
	}

	Node* pOldNode = node;
	Node* pNewNode = NewNode();
	pNewNode->data = newElement;

	pOldNode->pPrev->pNext = pNewNode;
	pNewNode->pPrev=pOldNode->pPrev;

	pOldNode->pPrev = pNewNode;
	pNewNode->pNext = pOldNode;

	m_nCount++;
	return pNewNode;
}
Node* ObList::InsertAfter(Node* node, void* newElement)
{
	if (node == NULL || node->pNext == NULL)
	{
		AddTail(newElement);
		return m_pNodeTail;
	}

	Node* pOldNode = node;
	Node* pNewNode = NewNode();
	pNewNode->data = newElement;

	pOldNode->pNext->pPrev = pNewNode;
	pNewNode->pNext=pOldNode->pNext;

	pOldNode->pNext = pNewNode;
	pNewNode->pPrev = pOldNode;

	m_nCount++;
	return pNewNode;
}

Node* ObList::FindAfter(void* searchValue, Node* startAfter/* = NULL*/) 
{
	Node* pNode = startAfter;
	if (pNode == NULL)pNode = m_pNodeHead;

	for (; pNode != NULL; pNode = pNode->pNext)
		if (pNode->data == searchValue)
			return pNode;
	return NULL;
}
Node* ObList::FindBefore(void* searchValue, Node* startBefore/* = NULL*/) 
{
	Node* pNode = startBefore;
	if (pNode == NULL)pNode = m_pNodeTail;

	for (; pNode != NULL; pNode = pNode->pPrev)
		if (pNode->data == searchValue)
			return pNode;
	return NULL;
}
void ObList::AddHead(ObList* pNewList)
{
	assert(pNewList != NULL);

	Node* node = pNewList->GetTail();
	while (node != NULL)
	{
		AddHead(node->data);
		node=pNewList->GetPrev(node);
	}
}
void ObList::AddTail(ObList* pNewList)
{
	assert(pNewList != NULL);

	Node* node = pNewList->GetHead();
	while (node != NULL)
	{
		AddHead(node->data);
		node=pNewList->GetNext(node);
	}
}
ObList& ObList::operator = (ObList& list)
{
	Copy(list);
	return *this;
}	
ObList& ObList::Copy(ObList& list)
{
	Node *p,*q,*r;
	Node *pHead;

	if(m_pNodeHead)RemoveAll();
	pHead=list.GetHead();
	if(!pHead)return *this;

	m_pNodeHead=NewNode();
	
	m_pNodeHead->data=pHead->data;

	m_pNodeTail=m_pNodeHead;
	p=m_pNodeHead;
	r=NULL;
	q=pHead->pNext;
	while(q)
	{
		r=NewNode();
		r->data=q->data;
		r->pPrev=p;
		p->pNext=r;
		m_pNodeTail=r;
		p=p->pNext;
		q=q->pNext;
	}
	return *this;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜免费av| 蜜臀av性久久久久蜜臀aⅴ四虎 | av一区二区三区在线| 国模大尺度一区二区三区| 日本欧美在线观看| 日韩激情视频在线观看| 亚洲成人午夜影院| 丝袜美腿亚洲色图| 日韩在线一区二区| 免费xxxx性欧美18vr| 日韩av中文字幕一区二区三区| 午夜电影久久久| 午夜成人在线视频| 加勒比av一区二区| 国产91丝袜在线播放0| 国产成人av电影在线观看| 国产成人精品一区二区三区四区| 国产成人午夜电影网| av在线不卡免费看| 欧美性色aⅴ视频一区日韩精品| av电影在线观看一区| 欧美成人一区二区三区片免费| 在线综合视频播放| 久久久蜜桃精品| 中文字幕日韩一区二区| 亚洲国产视频a| 免费成人av资源网| 成人一级片在线观看| 色菇凉天天综合网| 制服丝袜在线91| 久久精品视频在线看| 国产精品国产精品国产专区不蜜 | 五月天亚洲精品| 久久av资源站| 99久久精品费精品国产一区二区| 91免费观看在线| 日韩免费电影一区| 亚洲天堂福利av| 亚洲成人先锋电影| 亚洲精品在线观看视频| 国产精品伦理一区二区| 午夜精品福利视频网站| 国产高清一区日本| 精品视频色一区| 久久精品视频一区| 午夜国产精品一区| 不卡的av在线播放| 精品国产亚洲在线| 亚洲高清视频的网址| 国产成人免费视| 日韩一级片网站| 悠悠色在线精品| 国产精品一区免费在线观看| 欧美午夜精品理论片a级按摩| 国产三区在线成人av| 午夜精品福利视频网站| 97久久久精品综合88久久| 欧美成人高清电影在线| 五月激情综合色| 91麻豆自制传媒国产之光| 国产日本一区二区| 蜜桃传媒麻豆第一区在线观看| 色哟哟欧美精品| 一区二区三区在线视频免费观看| 国产成人av一区二区三区在线观看| 欧美日韩小视频| 亚洲精品水蜜桃| 99久久精品免费观看| 国产午夜亚洲精品午夜鲁丝片| 日韩1区2区3区| 欧美群妇大交群中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 国产盗摄女厕一区二区三区| 日韩一区二区在线观看| 日本怡春院一区二区| 欧美日韩一区 二区 三区 久久精品| 综合婷婷亚洲小说| av电影在线观看一区| 国产精品第五页| 91在线高清观看| 亚洲欧洲综合另类| 色婷婷激情久久| 亚洲综合色婷婷| 欧美色男人天堂| 天天综合天天综合色| 在线播放欧美女士性生活| 日韩电影一区二区三区四区| 69堂精品视频| 日韩福利电影在线| 日韩欧美精品三级| 国产在线看一区| 中文字幕欧美日本乱码一线二线| 成人理论电影网| 亚洲色图欧美在线| 在线观看视频一区| 五月天视频一区| 精品国产露脸精彩对白| 国产成人亚洲精品青草天美| 国产精品欧美一区喷水| 91蜜桃网址入口| 亚洲一区二区三区爽爽爽爽爽| 欧美男男青年gay1069videost| 日韩高清在线一区| 国产亚洲一区二区三区四区| 成人国产精品免费观看视频| 亚洲人123区| 91精品国产综合久久久久久漫画| 另类小说图片综合网| 欧美激情一区二区在线| 欧美自拍偷拍午夜视频| 精品一区二区三区的国产在线播放| 国产欧美一区二区精品秋霞影院| 91在线云播放| 裸体在线国模精品偷拍| 国产精品进线69影院| 在线播放视频一区| 不卡av在线网| 蜜桃视频在线一区| 亚洲同性同志一二三专区| 日韩欧美专区在线| 99九九99九九九视频精品| 秋霞电影网一区二区| 国产精品免费免费| 日韩欧美一级特黄在线播放| av亚洲精华国产精华| 久久国产夜色精品鲁鲁99| 亚洲桃色在线一区| 久久亚洲精精品中文字幕早川悠里| 色婷婷久久久综合中文字幕| 国产一区二区精品久久| 午夜不卡av在线| 自拍偷拍欧美激情| www日韩大片| 欧美丰满高潮xxxx喷水动漫| av不卡免费在线观看| 国产精品99久久久久久有的能看 | 92国产精品观看| 国内成人免费视频| 日韩成人免费电影| 亚洲国产人成综合网站| 国产精品麻豆欧美日韩ww| 久久久久久夜精品精品免费| 88在线观看91蜜桃国自产| 91亚洲国产成人精品一区二三 | 成人app软件下载大全免费| 黄色成人免费在线| 久久精品国产色蜜蜜麻豆| 天天色综合天天| 亚洲成人久久影院| 亚洲国产综合在线| 亚洲永久免费av| 亚洲精品乱码久久久久久黑人| 亚洲国产精品av| 中文成人av在线| 亚洲国产成人午夜在线一区| 久久久久国色av免费看影院| 精品成人在线观看| 久久综合九色综合久久久精品综合| 欧美一级午夜免费电影| 欧美一区二区三区视频在线观看| 欧美日韩国产高清一区二区三区 | 九色|91porny| 久久不见久久见免费视频7| 日韩高清一级片| 日韩成人精品视频| 国产一区二区调教| 久久黄色级2电影| 国产在线看一区| 高清免费成人av| 成人黄色小视频| 色女孩综合影院| 欧美三级午夜理伦三级中视频| 日本韩国精品在线| 欧美亚洲精品一区| 欧美一区二区三区四区久久| 精品久久久久久最新网址| 日本一区二区三区电影| 亚洲色图视频网| 天天色综合天天| 国产毛片精品国产一区二区三区| 成人福利电影精品一区二区在线观看| 国产成人a级片| 日本电影欧美片| 91精品国产一区二区三区蜜臀| 久久一区二区三区四区| 国产精品久久久久久久久搜平片| 一区二区三区在线影院| 免费在线观看日韩欧美| www.性欧美| 日韩视频一区二区在线观看| 亚洲国产精品黑人久久久| 亚洲高清免费一级二级三级| 国产在线不卡一卡二卡三卡四卡| 99久久免费视频.com| 日韩精品一区二区三区四区视频| 国产精品福利一区二区三区| 免费成人在线影院| 欧美综合视频在线观看| 久久日韩粉嫩一区二区三区 | 欧美在线观看视频一区二区|