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

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

?? list.cpp

?? apriori算法源碼
?? CPP
字號:
// List.cpp: implementation of the List class.
//
//////////////////////////////////////////////////////////////////////

#include <stdio.h>

#include "tzObject.h"
#include "List.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


//*********************************************************************
// List::List()
//   Constructor
//
List::List()
{
    head = tail = current = (ListNode *)NULL;
    number = 0;
    current_index = -1;
}


//*********************************************************************
// List::~List()
//   Destructor
//
List::~List()
{
    clear();
}


//*********************************************************************
// void List::add(tzObject *object)
//   Add an object to the list.
//
void List::add(tzObject *object)
{
    ListNode *node = (ListNode *)new ListNode;
    
    node->next = (ListNode *)NULL;
    node->prev = tail;
    node->object = object;
    
    if (tail != (ListNode *)NULL)
    {
    	tail->next = node;
    	tail = node;
    }
    else
    	head = tail = node;

    number++;
}


//*********************************************************************
// void List::add(int position, tzObject *object)
//   Adds the specified item to the the scrolling list at the 
//   position indicated by the index.
//
void List::add(int position, tzObject *object)
{
    ListNode *ln = head;
    
    for (int i = 0; i < position && ln; i++, ln = ln->next)
    	;
    
    if (!ln)
    {
        // if position is greater than the current scope, 
        // append the object to the list
        add(object);
    }
    else
    {
        ListNode *node;
		
		node = (ListNode *)new ListNode;
    
        node->next = (ListNode *)NULL;
        node->prev = (ListNode *)NULL;
        node->object = object;
        
    	if (ln == head)
	    {
	        node->next = head;
    	    node->next->prev = node;
	        head = node;
    	}
	    else
    	{
	        node->next = ln;
	        node->prev = ln->prev;
    	    node->prev->next = node;
	        node->next->prev = node;
    	}
        
        if(current_index >= position)
            current_index++;
        
        number++;
    }
    
    return;
}



// Append plist to the current list
void List::add(List *plist)
{
	tzObject *pobject;
	for(int i = 0; i < plist->size(); i++)
	{
		pobject = plist->get(i);
		add(pobject->clone());
	}

	return;
}


//*********************************************************************
// void List::clear()
//   Removes all nodes from this list, and the objects as well.
//
void List::clear()
{
    ListNode *node;
    
    while (head)
    {
    	node = head;
    	head = head->next;
	    delete node->object;
    	delete node;
    }
    
    head = tail = current = (ListNode *)NULL;
    number = 0;
    current_index = -1;
}


//*********************************************************************
// void List::dump()
//   dump all the content in the link list.
//
void List::dump()
{
    for(ListNode *node = head; node != (ListNode *)NULL; node = node->next)
        node->object->dump();
}



//*********************************************************************
// List *List::clone()
//   Return a deep copy of the list.
//
List *List::clone()
{
    List	*list = new List();
    ListNode *node;

    for(node = head; node != (ListNode *)NULL; node = node->next)
        list->add(node->object->clone());
        
    return list;
}



//*********************************************************************
// tzObject *List::get(int index)
//   Gets the item associated with the specified index.
//
tzObject *List::get(int index)
{
    if (index < 0 || index >= number)
        return (tzObject *)NULL;

    // if we want to retrieve exact the current node or the node next to current
    if (current_index == index)
    	return current->object;
    if (current && current_index >= 0 && index == current_index + 1)
    {
    	current = current->next;
	    if (!current)
    	{
	        current_index = -1;
    	    return (tzObject *)NULL;
	    }
    	current_index = index;
	    return current->object;
    }

    ListNode *temp = head;
    
    for (int i = 0; temp && i < index; i++)
    	temp = temp->next;

    if (temp)
    {
    	current_index = index;
	    current = temp;
    	return temp->object;
    }
    
   	return (tzObject *)NULL;
}



//*********************************************************************
// int List::indexOf(tzObject *obj)
//    Searches for the first occurence of the given argument, 
//    testing for equality using the equals method.
//
int List::indexOf(tzObject *obj)
{
    ListNode *temp = head;
    int			index = 0;

    while (temp && obj->compare(temp->object) != 0)
    {
    	temp = temp->next;
	    index++;
    }
    
    if (index >= number)
    	return -1;
    else
    	return index;
}




//*********************************************************************
// void List::remove(int position)
//   Remove the item at the specified position from this scrolling list.
//
void List::remove(int position)
{
    if (position < 0 || position >= number)
        return;
    
    ListNode *node;
    
    if (current_index == position)
        node = current;
    else if (current && current_index >= 0 && position == current_index + 1)
    	node = current->next;
    else
    {
        node = head;
    
        for (int i = 0; node && i < position; i++)
         	node = node->next;
    }
    
    if(node)
        remove(node);

    return;    
}

//*********************************************************************
// void List::remove(tzObject *object)
//   Removes the first occurrence of an item from the list.
//
void List::remove(tzObject *object)
{
    
    for(ListNode *node = head; node != (ListNode *)NULL; node = node->next)
    {
    	if (object->compare(node->object) == 0)
    	{
            remove(node);
            break;
    	}
    }
    
    return;
}


//*********************************************************************
// void List::remove(ListNode *node)
//   Remove the node from this scrolling list.
//
void List::remove(ListNode *node)
{
    
    if (head == tail)
    {
        // if only one node in the list
        head = tail = (ListNode *)NULL;
    }
    else if (head == node)
    {
        head = head->next;
        head->prev = (ListNode *)NULL;
    }
    else if (tail == node)
    {
        tail = tail->prev;
        tail->next = (ListNode *)NULL;
    }
    else
    {
        node->next->prev = node->prev;
        node->prev->next = node->next;
    }

    delete node->object;
    delete node;
    
    number--;
    
    // we should keep the current correctly, but ...
    current_index = -1;
    current = (ListNode *)NULL;
    
    return;
}


//*********************************************************************
// void List::set(int position, tzObject *object)
//   Replaces the item at the specified index in the scrolling list with the new object.
//
void List::set(int position, tzObject *object)
{
    ListNode *temp = head;
    
    //
    // First make sure that there is something there!
    //
    while (number < position + 1)
    	add((tzObject *)NULL);

    //
    // Now find the listnode to put the new object in
    //
    for (int i = 0; temp && i < position; i++)
    	temp = temp->next;

    if(temp->object != (tzObject *)NULL)
        delete temp->object;
    
    temp->object = object;
    
    current = temp;
    current_index = position;
    
    return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
**性色生活片久久毛片| 欧美日韩激情一区二区| 国产日韩在线不卡| 日韩电影在线看| 亚洲色图一区二区| 精品少妇一区二区三区在线视频| 91丨porny丨国产| 国产91精品欧美| 国产麻豆欧美日韩一区| 午夜欧美2019年伦理| 国产精品久久久久影院老司| 久久一区二区三区四区| 日韩一级大片在线| 欧美一区二区三区啪啪| 欧美日韩一区二区三区四区五区| 亚洲成人三级小说| 成人欧美一区二区三区视频网页 | 久久99精品一区二区三区三区| 亚洲一区二区影院| 亚洲一区二区欧美| 一区二区三区在线播| 亚洲一二三级电影| 亚洲福利视频一区| 天天综合天天综合色| 日本午夜一本久久久综合| 午夜成人免费视频| 蜜臀av一区二区三区| 国产一区二区三区精品视频| 国产精品一区二区久久精品爱涩| 国产一区在线不卡| 日韩视频免费直播| 日韩一区二区免费在线观看| 欧美一区二区三区视频免费播放 | 国产一区999| 大胆亚洲人体视频| 欧美日韩国产在线观看| 日韩视频在线你懂得| 欧美激情一区二区三区四区| 中文字幕日韩精品一区| 国内国产精品久久| 99国产欧美另类久久久精品| 欧美日韩免费观看一区二区三区 | 日韩欧美aaaaaa| 中文字幕日本不卡| 看片网站欧美日韩| 成人精品免费看| caoporn国产一区二区| 在线播放视频一区| 国产精品网友自拍| 精品中文字幕一区二区小辣椒 | 亚洲一本大道在线| 国内久久精品视频| 欧美日韩久久久| 国产精品久久久久久久久晋中| 亚洲韩国一区二区三区| 成人av综合一区| 精品国产制服丝袜高跟| 日韩不卡一区二区三区 | 99精品视频在线免费观看| 欧美日韩高清影院| 亚洲一区二区在线免费看| 成人动漫视频在线| 久久久久久久一区| 精品一区二区三区免费| 欧美一区二区三区视频免费| 亚洲444eee在线观看| 欧美视频在线观看一区二区| 亚洲视频一二三区| 色88888久久久久久影院野外| 国产蜜臀av在线一区二区三区| 国产一区二区三区精品视频| 精品久久国产老人久久综合| 九九国产精品视频| 欧美人狂配大交3d怪物一区| 亚洲一区二区三区中文字幕| 欧美伊人久久久久久久久影院| 亚洲蜜臀av乱码久久精品| 欧美精品久久99| 美女网站色91| 久久久久国产免费免费| 成人激情综合网站| 亚洲国产精品久久久男人的天堂| 欧美中文字幕不卡| 日韩成人免费电影| 久久综合九色综合欧美98| 国产999精品久久久久久| 亚洲男同性视频| 日韩欧美一二三| 成人白浆超碰人人人人| 亚洲成av人影院| 久久综合一区二区| 欧美专区在线观看一区| 九色|91porny| 亚洲成a人v欧美综合天堂下载| 欧美不卡在线视频| 欧美在线观看视频一区二区三区| 秋霞成人午夜伦在线观看| 亚洲欧美综合网| 日本在线播放一区二区三区| 一区二区三区四区精品在线视频| 欧美三级蜜桃2在线观看| 久久精品国产亚洲一区二区三区| 国产精品久久影院| 日韩欧美国产电影| 欧美色网站导航| 色天天综合久久久久综合片| 久久99精品久久久| 丝袜美腿成人在线| 中文字幕制服丝袜成人av| 欧美mv日韩mv亚洲| 欧美少妇一区二区| 91高清视频免费看| 99综合影院在线| 成人综合在线网站| 成人在线视频一区二区| 亚洲精品免费一二三区| 国产精品亚洲综合一区在线观看| 一区二区三区四区不卡视频| 日韩免费成人网| 欧美电影免费观看高清完整版在线 | 国产精品乱人伦中文| 精品成人一区二区三区四区| 日韩一级免费观看| 色老汉一区二区三区| 在线不卡中文字幕| 精品一区二区三区的国产在线播放| 亚洲精品成人精品456| 亚洲柠檬福利资源导航| 亚洲免费看黄网站| 亚洲一区二区在线观看视频 | 久久国产麻豆精品| 黄色资源网久久资源365| 韩国成人精品a∨在线观看| 国产一区二区三区在线观看精品| 美国欧美日韩国产在线播放| 乱中年女人伦av一区二区| 国产一区二区三区不卡在线观看| 九色综合国产一区二区三区| 不卡的看片网站| 欧美精品在线一区二区| 久久久久免费观看| 中文字幕一区在线| 性欧美大战久久久久久久久| 久久精品国产免费| 99精品久久久久久| 欧美一级欧美三级在线观看| 亚洲国产电影在线观看| 亚洲图片欧美一区| 成人国产精品免费观看视频| 欧美唯美清纯偷拍| 国产日韩欧美精品电影三级在线| 有坂深雪av一区二区精品| 国内精品嫩模私拍在线| 在线观看国产一区二区| 国产欧美一区二区精品仙草咪| 亚洲午夜久久久久久久久电影院| 激情综合网av| 欧美日韩亚洲综合在线| 国产精品盗摄一区二区三区| 日本不卡不码高清免费观看| 一本一本大道香蕉久在线精品 | 欧美精品一区二区在线观看| 一区二区高清免费观看影视大全| 国产真实精品久久二三区| 91精品福利在线一区二区三区| 亚洲天堂网中文字| 成人福利视频在线| 国产欧美精品一区二区三区四区| 奇米亚洲午夜久久精品| 7777精品伊人久久久大香线蕉的| 亚洲欧洲精品天堂一级| 高清国产一区二区三区| 亚洲欧洲日韩一区二区三区| 国产黄人亚洲片| 国产日韩亚洲欧美综合| 成人一区在线观看| 欧美激情在线免费观看| 成人免费视频一区| 中文字幕一区二区三区在线播放| www.亚洲人| 亚洲一区在线视频观看| 欧美在线视频不卡| 天天色综合天天| 欧美一区二区国产| 国产伦精品一区二区三区视频青涩| 久久综合99re88久久爱| 成人性生交大片免费看在线播放| 国产精品久久久久久久裸模| 91免费视频大全| 日韩电影在线观看网站| 久久久99精品久久| 色视频欧美一区二区三区| 日韩中文字幕一区二区三区| 制服丝袜中文字幕一区| 国产白丝网站精品污在线入口| 亚洲三级免费观看| 日韩视频一区二区| 91看片淫黄大片一级在线观看| 视频一区二区三区入口| 国产无遮挡一区二区三区毛片日本|