list是C++容器类中的“顺序存储结构”所包含的一种结构。list是非连续存储结构,具有双链表结构,支持前向/后向遍历,且支持高效的随机删除/插入。
实现代码如下:
**list.h**
#pragma once
#include<stdio.h>
#include<assert.h>
#include<iostream>
using namespace std;
typedef int DataType;
struct ListNode
{
ListNode* _next;
ListNode* _prev;
DataType _data;
ListNode(DataType x)
:_data(x)
, _next(NULL)
, _prev(NULL)
{}
};
**test.cpp**
#define _CRT_SECURE_NO_WARNINGS 1
#include "list.h"
class List{
typedef ListNode Node;
public:
List()
:_head(new Node(DataType())){
_head->_next = _head;
_head->_prev = _head;
}
List(const List& l)
:_head(new Node(DataType())){
_head->_next = _head;
_head->_prev = _head;
Node* cur = l._head->_next;
while (cur!=l