第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單向鏈表如何實現(xiàn)一個迭代器函數(shù)

單向鏈表如何實現(xiàn)一個迭代器函數(shù)

  2019-04-23 15:17:52
數(shù)據(jù)結(jié)構(gòu)是這樣的:typedefstructnode{void*data;structnode*next;}node_t;typedefstructlist{node_t*head;}list_t;其中node_t結(jié)構(gòu)是操作封裝的.我想實現(xiàn)一個迭代器函數(shù)intlist_iter(list_t*,void*);當(dāng)循環(huán)達到list結(jié)束的時候返回0,否則返回1也就是我可以這么使用iter:while(list_iter(list,&data)){//dosomething,suchasgetoutdata}我想封裝這個函數(shù),要用到static.但是static修飾的迭代節(jié)點指針不能很好的指示鏈表結(jié)束
查看完整描述

2 回答

?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

我認為兩個方案
1,在list_iter中每讀出一個node銷毀一個,直到某個node->next為null
2,擴展list_t,增加一個node_t*c_node。默認同head,每讀一個向下走一個,直到null
                            
查看完整回答
反對 回復(fù) 2019-04-23
?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

intlist_iter(list_t*list,void**data_ptr)
{
staticnode_t*p=NULL;
staticintflag=0;
if(!flag){//pinittoheadnodewhenthefirsttime
p=list->head;
flag=1;
}
if(!p){
flag=0;
return0;
}
*data_ptr=p->data;
p=p->next;
return1;
}
                            
查看完整回答
反對 回復(fù) 2019-04-23
  • 2 回答
  • 0 關(guān)注
  • 324 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號