STL系列之八 slist單鏈表

2021-07-05 10:44:49 字數 1112 閱讀 6688

微軟的vs208所使用的pj stl(注1)中的list是雙鏈表,但在某些場合,乙個輕量級的單鏈表會更加合適。單鏈表非常常見,這裡就不去細說了,本文的slist(single linked list)單鏈表實現了鍊錶的基本功能,如有需要,以後還會擴充的。slist單鏈表(帶頭結點)的示意圖如下所示:

完整的c++**如下:

//帶頭結點的單鏈表     

//by morewindows( )

templatet>

struct node

};

templatet>

class slist

; templatet>

slist::slist()

templatet>

slist::~slist()

m_nlistdatacount = 0;

} templatet>

void slist::push_front(t &t)

templatet>

bool slist::find(t &t)

templatet>

int slist::size()

//刪除鍊錶中第乙個值為t的結點

templatet>

bool slist::remove(t &t)

pprenode = pnode;

pnode = pnode->next;

} return false;

} //會刪除鍊錶中所有值為t的結點

templatet>

bool slist::removeall(t &t)

else

} return flagdeletenode;

} templatet>

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