當前位置: 首頁>>代碼示例>>C++>>正文


C++ TList::GetData方法代碼示例

本文整理匯總了C++中TList::GetData方法的典型用法代碼示例。如果您正苦於以下問題:C++ TList::GetData方法的具體用法?C++ TList::GetData怎麽用?C++ TList::GetData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在TList的用法示例。


在下文中一共展示了TList::GetData方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: Repeat

int TAstar::Repeat(TList<TAstar> &L)  
{  
    int n=L.Getlen(); 
	int i; 
    for( i=0;i<n;i++)  
        if(L.GetData(i)==*this)  
            break;  
    return i;  
}  
開發者ID:XiaohengLiu,項目名稱:8-puzzle,代碼行數:9,代碼來源:tastar.cpp

示例2: Search

void TAstar::Search()
{
	TAstar T = *this;              //初始結點   
	T.f = T.Calcuf();               //初始結點的估價函數   
	TList<TAstar> L;           //建立隊列   
	L.Append(T);                 //初始結點入隊   
	int head = 0, tail = 0;           //隊列頭和尾指針   
	while (head <= tail)           //隊列不空則循環   
	{
		for (int i = 0; i<4; i++)            //空格可能移動方向   
		{
			T = L.GetData(head);   //去隊列頭結點   
			if (T.h == 0)                   //是目標結點   
			{
				T.Printl(L);//輸出搜索路徑   
				//T.Printf();    //輸出目標狀態   
				//printf("%d\n", T.getZeroPos());
				this->rs.push_back(T.getZeroPos());
				return;        //結束   
			}
			if (T.Expend(i))          //若結點可擴展   
			{
				int k = T.Repeat(L); //返回與已擴展結點重複的序號        
				if (k<head)               //如果是不能擴展的結點   
					continue; //丟棄   
				T.last = head;      //不是不能擴展的結點,記錄父結點   
				T.f = T.Calcuf(); //計算f   
				if (k <= tail)         //新結點與可擴展結點重複   
				{
					TAstar Temp = L.GetData(k);
					if (Temp.g>T.g)         //比較兩結點g值   
						L.SetData(T, k); //保留g值小的   
					continue;
				}
				T.Sort(L, head);            //新結點插入可擴展結點隊列        
				tail++;        //隊列尾指針後移    
			}
		}
		head++; //一個結點不能再擴展,隊列頭指針指向下一結點   
	}
}
開發者ID:doctording,項目名稱:cocos2dx_8digital,代碼行數:41,代碼來源:TAstar.cpp

示例3: Sort

void TAstar::Sort(TList<TAstar>& L,int k)  
{  
    int n=L.Getlen();
	int i;  
    for( i=k+1;i<n;i++)  
    {  
        TAstar T=L.GetData(i);  
        if(this->f<=T.f)  
            break;  
    }  
    L.Insert(*this,i);  
}  
開發者ID:XiaohengLiu,項目名稱:8-puzzle,代碼行數:12,代碼來源:tastar.cpp

示例4: Printl

void TAstar::Printl(TList<TAstar> L)   
{  
    TAstar T=*this;  
    if(T.last==-1)  
        return;  
    else  
    {  
        T=L.GetData(T.last);  
        T.Printl(L);  
        T.Printf();  
    }  
}  
開發者ID:XiaohengLiu,項目名稱:8-puzzle,代碼行數:12,代碼來源:tastar.cpp

示例5: Printl

void TAstar::Printl(TList<TAstar> L)
{
	TAstar T = *this;
	if (T.last == -1)
		return;
	else
	{
		T = L.GetData(T.last);
		T.Printl(L);
		//T.Printf();
		//printf("%d\n", T.getZeroPos());
		this->rs.push_back(T.getZeroPos());
	}
}
開發者ID:doctording,項目名稱:cocos2dx_8digital,代碼行數:14,代碼來源:TAstar.cpp


注:本文中的TList::GetData方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。