// 问题:
// 1 不能把node写在类外,需要深入了解模板知识
// 2 没有写完
template <typename T >
class SingleLinkList
{
public:
SingleLinkList()
{
head = new Node<T>;
length = 0;
current = head;
}
template <typename T >
class Node
{
public:
Node(T val_) :val(val_)
{}
Node()
{}
T val;
Node * next;
};
bool insert(int i, const T& val) // i 表示插入位置
{
bool ret = (i >= 0) && (i <= length);
if (ret)
{
Node<T> * current = head;
for(int n = 0 ; n < i ;n++)
{
current = current->next;
}
Node<T> * pNode = new Node<T>;
if (pNode == nullptr)
{
return false;
}
pNode->val = val;
pNode->next = current->next;
current->next = pNode;
length++;
}
return ret;
}
void print()
{
Node<T> * current = head;
while (current->next != nullptr)
{
cout << current->next->val << endl;
current = current->next;
}
}
int size() const
{
return length;
}
bool get();
bool remove();
bool set();
Node<T> * head;
Node<T> * current;
int length;
};
int main()
{
SingleLinkList<double> dLinkList;
dLinkList.insert(0, 10.0);
dLinkList.insert(0, 11.0);
dLinkList.insert(0, 12.0);
dLinkList.print(); // 12 11 10
cout << dLinkList.size() << endl; // 3
return 0;
}
数据结构:单向链表
最新推荐文章于 2024-08-04 17:29:18 发布
917

被折叠的 条评论
为什么被折叠?



