工程中共有三个文件
List.h 文件
class Node{
public:
char data;
Node *pred;
Node *succ;
Node(){}
Node(char const& e, Node *p=NULL, Node *q=NULL){ data = e; pred = p; succ = q; }
~Node(){}
};
class List{
public:
Node *header;
Node *trailer;
int _size;
List();
~List(){}
int size()const;
Node * insertAsPred(int n, char const& letter);
char remove(int n);
void traverse()const;
};
List.cpp 文件
#include"List.h"
#include<stdio.h>
List::List(){
Node *header = new Node;
Node *trailer = new Node;
header->succ = trailer;
header->pred = NULL;
trailer->pred = header;
trailer->succ = NULL;
_size = 0;
}
int List::size()const{
return _size;
}
Node * List::insertAsPred(int n, char const& letter){
Node *flag;
flag = header->succ;
int times = n;
while (0<times){
flag = flag->succ;
times--;
}
Node* newNode = new Node(letter, flag->pred, flag);
flag->pred->succ = newNode;
flag->pred = newNode;
_size++;
return newNode;
}
char List::remove(int n){
Node *flag;
flag = header->succ;
int times = n;
while (0<times){
flag = flag->succ;
times--;
}
flag->pred->succ = flag->succ;
flag->succ->pred = flag->pred;
char dataTemp = flag->data;
delete flag;
return dataTemp;
}
void List::traverse()const{
Node* newNode = header->succ;
while (newNode!=trailer){
printf("%c ", newNode->data);
}
}
main.cpp 文件
#include"List.h"
#include<stdio.h>
int main(){
List *testList = new List();
testList->insertAsPred(0, 'A');
return 0;
}
程序运行到"flag = header->succ;"中止,
变量信息如下
恳请指教!拜托各位了。