STL系列之八 slist單鏈表

2021-06-22 18:05:02 字數 1070 閱讀 9916

微軟的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單鏈表 帶頭結點 的示意圖如下所示 ...