微軟的vs208所使用的pj stl(注1)中的list是雙鏈表,但在某些場合,乙個輕量級的單鏈表會更加合適。單鏈表非常常見,這裡就不去細說了,本文的slist(single linked list)單鏈表實現了鍊錶的基本功能,如有需要,以後還會擴充的。slist單鏈表(帶頭結點)的示意圖如下所示:
完整的c++**如下:
[cpp]view plain
copy
//帶頭結點的單鏈表
//by morewindows( )
template
struct node
};
template
class slist
; template
slist::slist()
template
slist::~slist()
m_nlistdatacount = 0;
} template
void slist::push_front(t &t)
template
bool slist::find(t &t)
template
int slist::size()
//刪除鍊錶中第乙個值為t的結點
template
bool slist::remove(t &t)
pprenode = pnode;
pnode = pnode->next;
} return
false;
} //會刪除鍊錶中所有值為t的結點
template
bool slist::removeall(t &t)
else
} return flagdeletenode;
} template
void slist::clear()
m_head = null;
}
注1.stl分為很多版本,微軟的vs系列使用的是pj stl。而《stl原始碼剖析》書中主要使用sgi stl。
STL系列之八 slist單鏈表
微軟的vs208所使用的pj stl 注1 中的list是雙鏈表,但在某些場合,乙個輕量級的單鏈表會更加合適。單鏈表非常常見,這裡就不去細說了,本文的slist single linked list 單鏈表實現了鍊錶的基本功能,如有需要,以後還會擴充的。slist單鏈表 帶頭結點 的示意圖如下所示 ...
STL系列之八 slist單鏈表
微軟的vs208所使用的pj stl 注1 中的list是雙鏈表,但在某些場合,乙個輕量級的單鏈表會更加合適。單鏈表非常常見,這裡就不去細說了,本文的slist single linked list 單鏈表實現了鍊錶的基本功能,如有需要,以後還會擴充的。slist單鏈表 帶頭結點 的示意圖如下所示 ...
STL系列之八 slist單鏈表
微軟的vs208所使用的pj stl 注1 中的list是雙鏈表,但在某些場合,乙個輕量級的單鏈表會更加合適。單鏈表非常常見,這裡就不去細說了,本文的slist single linked list 單鏈表實現了鍊錶的基本功能,如有需要,以後還會擴充的。slist單鏈表 帶頭結點 的示意圖如下所示 ...