我的任務是編寫一個集合類。 首先我有具有功能C++設置插入號碼檢查重複項
void list_head_insert(node<Item>*& head_ptr, const Item& entry)
{
head_ptr = new node<Item>(entry, head_ptr);
}
此插入開頭
一個節點我有兩個集函數,第一個檢查以查看是否存在插入的數目的節點類。如果是,則返回true,否則返回false。
template <class Item>
bool set<Item>::contains(const Item& target)
{
while(head_ptr->data()!=target&&head_ptr->link()!=NULL)
head_ptr=head_ptr->link();
if(head_ptr->data()==target)
{
return true;
}
else
{
return false;
}
}
第二組函數插入使用list_head_insert
函數
template <class Item>
void set<Item>::insert(const Item& entry)
// Library facilities used: node2.h
{
if(contains(entry) !=true)
{
list_head_insert(head_ptr, entry);//inserts node
++many_nodes;//increases the number of items
}
}
節點最後我有打印功能
void print(set<int>bagints)
{
for(bag<int>::iterator cursor = bagints.begin(); cursor != bagints.end(); ++cursor)
{
cout<<*cursor<< " ";
}
}
當我插入數示例Mylist.insert(10)
的列表...並嘗試打印它不打印出來的數字。我已檢查包含功能,它工作正常。我認爲問題在插入,但我不明白爲什麼。
建議 - 不要將類命名爲'set',因爲C++有一個'std :: set'類。 – PaulMcKenzie
酷感謝生病請記住@PaulMcKenzie – NBera