This repository has been archived on 2024-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
justhomework/ex5/list.h
2021-10-22 19:25:46 +08:00

54 lines
966 B
C++

#include <iostream>
#include <string>
#define Node node *
typedef struct node
{
int data;
Node pred;
Node succ;
} node;
class List
{
private:
Node header = new node;
Node trailer = new node;
int _size;
protected:
public:
int getSize()
{
return _size;
}
List();
~List();
void clear();
Node first() { return header->succ; }
Node last() { return trailer->pred; }
void firstInsert(int New);
void lastInsert(int New);
Node succInsert(Node Old, int New);
Node predInsert(Node Old, int New);
Node firstInsertN(Node New);
Node lastInsertN(Node New);
Node succInsertN(Node old, Node ne);
Node predInsertN(Node old, Node ne);
int get(int i);
Node find(int i);
int remove(int i);
void removeN(Node i);
void sort();
int operator[](int i)
{
Node p = first();
while (0 < i--)
p = p->succ;
return p->data;
}
};