用C++链表方式实现了线性表的一些基本操作,包括插入元素,删除元素,反转线性表等.
#include <stdio.h>
#include <stdlib.h>
#define ERROR NULL
typedef int ElementType;
typedef struct LNode *PtrToLNode;
struct LNode {
ElementType Data;
PtrToLNode Next;
};
typedef PtrToLNode Position;
typedef PtrToLNode List;
Position Find(List L, ElementType X);//返回线性表中首次出现X的位置。若找不到则返回ERROR;
Position FindPrevious(List L, Position P);//给定位置P,返回指向位置P的前一位置.如果找不到,则返回ERROR
List Insert(List L, ElementType X, Position P);
//将X插入在位置P指向的结点之前,返回链表的表头。如果参数P指向非法位置,返回ERROR;
List Delete(List L, Position P);
//将位置P的元素删除并返回链表的表头。若参数P指向非法位置,并返回ERROR。
List Reverse(List L);//反转线性表
void Prin