StaticList.h
#pragma once
const int MAXSIZE = 20;
class Node
{
public:
long data;
int cursor; //指向下一个元素的游标位置
};
class StaticList
{
public:
StaticList();
~StaticList();
bool isEmpty();
void appendHead(long elem);
void appendTail(long elem);
int getPos(long elem);
void deleteElem(long elem);
int remove(int pos);
void insertElem(int pos, long elem);
void printList();
int getLength() { return m_length; }
private:
Node m_list[MAXSIZE];
int m_length;
};
staticlist.cpp
#include "StaticList.h"
#include <limits>
#include <iostream>
using namespace std;
StaticList::StaticList()
:m_length(0)
{
for (int i = 0; i < MAXSIZE-1; ++i)
{
m_list[i].data = INT_MIN;
m_list[i].cursor = i + 1;
}
m_list[MAXSIZE - 1].data = INT_MIN;
m_list[MAXSIZE - 1].cursor = 0;
}
StaticList::~StaticList()
{
}
bool StaticList::isEmpty()
{
if (m_length &