//头文件
#ifndef DOUBLELIST_H
#define DOUBLELIST_H
#include
using namespace std;
template
class LinkNode{
public:
T data;
LinkNode
* link;
LinkNode
* prev;
LinkNode(const T value, LinkNode
* str = NULL, LinkNode
* ptr = NULL) { data = value; link = str; prev = ptr; } }; template
class doubleList{ private: static int count; static int Count; LinkNode
* head; LinkNode
* tail; LinkNode
* currPos;//代表链表的最后一个节点 //position是决定那个节点向后移,在seek()函数中返回 LinkNode
* position = NULL; public: doubleList(); ~doubleList(); void setValue(); void clear(); void seek(); void getPos();//获取要后移的位置的指针 void changePosition(int i);//改变一个标记指针 void change();//改变所有标记指
设双链表表示的线性表L=(a1,a2,a3.....an)将L改造为L=(a1,a3,....an...a4,a2)
最新推荐文章于 2023-11-30 17:31:24 发布
该博客介绍了一个使用双链表表示的线性表,通过C++实现了一个类`doubleList`,包括了增删节点、遍历、获取节点位置、改变节点位置等操作。示例展示了如何将线性表L=(a1, a2, a3, ..., an)改造成L=(a1, a3, ..., an...a4, a2),即交替移动元素。"
116354200,10573769,配置算法第4版学习环境:Java与VSCode,"['Java', '算法', 'VSCode', '编程环境', '软件配置']
摘要由CSDN通过智能技术生成