freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

遞歸的概念遞歸過程與遞歸工作棧遞歸與回溯廣義表-資料下載頁

2025-07-21 13:45本頁面
  

【正文】 )。 return * temp。 } } GenListNode * GenList :: First ( ) { if ( firsttlink == NULL ) return NULL。 else return firsttlink。 } GenListNode * GenList :: Next ( GenListNode *elem ) { if ( elemtlink == NULL ) return NULL。 else return elemtlink。 } 廣義表的遞歸算法 廣義表的復(fù)制算法 void GenList :: Copy ( const GenListamp。 ls ) { first = Copy ( )。 //共有函數(shù) } GenListNode* GenList :: Copy ( GenListNode * ls ) { //私有函數(shù) GenListNode *q = NULL。 if ( ls != NULL ) { q = new GenListNode ( lsutype, NULL )。 switch ( lsutype ) { case 0: q = ls。 break。 case 1: q = ls。 break。 case 2: q = ls。 break。 case 3: q = Copy (ls)。 } qtlink = Copy (lstlink)。 } return q。 } ? ? ? 求廣義表的深度 例如,對于廣義表 E (B (a, b), D (B (a, b), C (u, (x, y, z)), A ( ) ) ) 1 1 1 1 2 3 4 int GenList :: depth ( GenListNode *ls ) { if ( lstlink == NULL ) return 1。 //空表 GenListNode * temp = lstlink。 int m = 0。 while ( temp != NULL ) { //在表頂層橫掃 if ( temputype == 3 ) { //結(jié)點(diǎn)為表結(jié)點(diǎn) int n = depth ( temp )。 if ( m n ) m = n。 //m記最大深度 } temp = temptlink。 } return m+1。 } int GenList :: depth ( ) { return depth ( first )。 } 廣義表的刪除算法 0 1 1 5 3 3 1 2 ? 0 1 2 ‘x’ ? 0 1 0 1 2 ‘y’ ls 3 2 ‘x’ ? ? ?掃描子鏈表 ? 若結(jié)點(diǎn)數(shù)據(jù)為‘ x’, 刪除。可 以 做循環(huán)連 續(xù)刪。 ? 若結(jié)點(diǎn)數(shù)據(jù)不為‘ x’,不執(zhí)行刪除。 ? 若結(jié)點(diǎn)為子表,遞歸在子表執(zhí)行刪除。 void delvalue(GenListNode * ls, const value x) { //在廣義表中刪除所有含 x 的結(jié)點(diǎn) if ( lstlink != NULL ) { //非空表 GenListNode * p = lstlink。 while ( p != NULL amp。amp。 //橫掃鏈表 ( ( putype == 1 amp。amp。 p == x ) || ( putype == 2 amp。amp。 p == x ) ) { lstlink = ptlink。 delete p。 //刪除 p = lstlink。 //指向同一層后繼結(jié)點(diǎn) } if ( p != NULL ) { if ( putype == 3 ) //在子表中刪除 delvalue ( p, x )。 delvalue ( p, x )。 //在后續(xù)鏈表中刪除 } } } GenList :: ~GenList ( ) { //析構(gòu)函數(shù) Remove ( first )。 } void GenList :: Remove ( GenListNode *ls ) { //私有函數(shù):釋放以 ls 為表頭指針的廣義表 ls 。 //引用計(jì)數(shù)減 1 if ( ls == 0 ) { //如果減到 0 GenListNode *p = ls, *q。 //橫掃表頂層 while ( ptlink != NULL ) { q = ptlink。 //到第一個(gè)結(jié)點(diǎn) if ( qutype == 3 ) //遞歸刪除子表 Remove ( q )。 plink = qlink。 delete q。 } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1