int visit(int,int);
成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、資陽主機(jī)托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球數(shù)千家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。
上面是函數(shù)聲明,第一個(gè)int表示返回int型值,()里面兩個(gè)int表示需要提供兩個(gè)int型參數(shù)。
答案是有的。
visit是自己寫的函數(shù)的指針。用來輸出你遍歷遇到的節(jié)點(diǎn)。
拓展:
C語言于1972年11月問世,1978年美國(guó)電話電報(bào)公司(ATT)貝爾實(shí)驗(yàn)室正式發(fā)布C語言,1983年由美國(guó)國(guó)家標(biāo)準(zhǔn)局(American National Standards Institute,簡(jiǎn)稱ANSI)開始制定C語言標(biāo)準(zhǔn),于1989年12月完成,并在1990年春天發(fā)布,稱之為ANSI C,有時(shí)也被稱為 C89 或 C90。
Visit函數(shù)是對(duì)數(shù)據(jù)元素操作的具體函數(shù)。
void Visit(TNode *node)
{
coutnode-value" ";
}
這樣的樣子;或者,比如要交換每個(gè)節(jié)點(diǎn)的左右子樹,那就是:
void Visit(TNode *node){
TNode *temp = node-left。
node-left = node-right。
node-right = temp。
比如要先序遍歷,肯定要輸出樹上每個(gè)節(jié)點(diǎn)的數(shù)值吧。輸出函數(shù)就可以寫在Visit函數(shù)中的。那樣程序運(yùn)行之后,就可以輸出二叉樹的先序遍歷了。
擴(kuò)展資料:
線性表的雙向鏈表存儲(chǔ)結(jié)構(gòu):
typedef?struct?DuLNode{
ElemType?data;
struct?DuLNode?*prior,*next;
}DuLNode,*DuLinkList;
帶頭結(jié)點(diǎn)的雙向循環(huán)鏈表的基本操作:
void?InitList(DuLinkList?L)
{?/*?產(chǎn)生空的雙向循環(huán)鏈表L?*/
L=(DuLinkList)malloc(sizeof(DuLNode));
if(L)
L-next=L-prior=L;
elseexit(OVERFLOW);}
重置鏈表為空表:
void?ClearList(DuLinkList?L)?/*?不改變L?*/
{? DuLinkList?q,p=L-next;?/*?p指向第一個(gè)結(jié)點(diǎn)?*/
while(p!=L)?/*?p沒到表頭?*/{q=p-next;free(p);p=q;}L-next=L-prior=L;?/*頭結(jié)點(diǎn)的兩個(gè)指針域均指向自身?*/}??
驗(yàn)證是否為空表:
Status?ListEmpty(DuLinkList?L){?/*?初始條件:線性表L已存在
if(L-next==LL-prior==L)
return?TRUE;
elsereturn?FALSE;}
參考資料來源:百度百科-雙向鏈表
visit 一般是指樹型鏈表結(jié)構(gòu)中對(duì)某個(gè)節(jié)點(diǎn)內(nèi)容進(jìn)行訪問的函數(shù),就是取出節(jié)點(diǎn)內(nèi)容去做某一件事,通常算法中不寫出具體函數(shù)內(nèi)容。
樹型鏈表結(jié)構(gòu)中自頂開始按照某種順序順藤摸瓜至某個(gè)節(jié)點(diǎn)的過程稱為“遍歷”:
void traverse(link h, void visit(link))
{
if (h == 0) return;
visit(h);
traverse(h-l, visit);
traverse(h-r, visit);
}
前序遍歷(非遞歸):
非遞歸的基于棧的函數(shù)與上面的遞歸函數(shù)在功能上是相等的。
void traverse(link h, void visit(link))
{
Stacklink s;
s.push(h);
while(!s.empty())
{
visit(h = s.pop());
if (h-l != 0) s.push(h-l);
if (h-r != 0) s.push(h-r);
}
}
層次順序的遍歷:
把前序遍歷中基本數(shù)據(jù)結(jié)構(gòu)從棧轉(zhuǎn)變成隊(duì)列,這樣的轉(zhuǎn)變就使遍歷轉(zhuǎn)成層次順序的。
void traverse(link h, void visit(link))
{
Queuelink q;
q.put(h);
while (!q.empty())
{
visit(h = q.get());
if (h-l != 0) q.put(h-l);
if (h-r != 0) q.put(h-r);
}
}