一.实验目的
巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。
二.实验内容
通过双链表建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。
三.实验报告
1.实验代码如下:
#include<iostream>
using namespace std;
template <typename T>
class Node
{
public:
T data;
Node<T> *prior;
Node<T> *next;
};
template <typename T>
class DLL {
public:
DLL();
DLL(T score[], int n); //有参构造函数
~DLL(); //析构函数
int Length(); //返回单链表长度
void insert(int i, T x); //插入操作,在位置i插入元素
T get(int i); //按位查找
int locate(T x); //按值查找
T Delete(int i); //删除操作
void print(); //遍历操作
private:
Node<T> *first; //双链表的头指针
int length; //链的长度计数
};
template <typename T>
DLL<T>::DLL(T score[], int n)
{
length = 0;
first = new Node<T>;
first->next = NULL;
first->prior = NULL;
for (int i = n-1; i>=0; i--)
{
Node<T> *s = new Node<T>;
s->data = score[