目的:通过实际操作静态单链表,掌握静态链表的储存结构以及熟悉静态链表的基本操作并进一步理解算法与程序的关系。
内容:用摘链的方法建立带头结点的静态单链表并对已创建的静态链表实现插入、删除、查找等基本操作。
静态链表简介:用数组来表示单链表,用数组元素的下标来模拟单链表的指针。静态链表由开两个域够成,data域存放数据元素,next域存放该元素的后继元素所在的下标。
单链表类的定义
#include<iostream>
#include<iomanip> //使用了setw()
using namespace std;
const int MaxSize=100;
struct Node
{
int data; //存放的数据
int next; //存放下标
}List[MaxSize];
class LinkList
{
public:
LinkList(); /*无参构造函数*/
LinkList(int a[],int n); /*建立有n个元素的链表*/
~LinkList(){}
void Insert(int i,int x); /*在第i个位置中插入元素值为X的结点*/
int Length(); /*求链表的长度*/
int Get(int i); /*按位查找,在链表中查找第i个结点的元素值*/
int Locate(int