数据库作业: 输入一组整数,建立带头结点的单链表,并实现线性表的求长度、插入和删除等操作。
来源:百度知道 编辑:UC知道 时间:2024/06/07 11:54:06
希望能来个没有什么错误的~只有20分了~
昨天闲着没事写了个C++的约瑟夫环问题的解决。。
是带头结点的循环单链表。。只要改一两处地方就可以改成普通单链表。。
求长度、插入、删除操作都有。。。
#include <iostream>
#include <vector>
#include <assert.h>
using namespace std;
template <class T>
class LinkedList{
typedef struct LNode{
T value;
LNode *next;
}LNode, *pNode;
private:
pNode headNode;
int size;
public:
LinkedList(){
headNode = new LNode;
headNode->value = NULL;
headNode->next = headNode;
size = 0;
}
~LinkedList(){
}
void add(T &t){
pNode node = new LNode;
node->value = t;
node->next = headNode;
pNode tmp = headNode;
while(tmp->next != headNode){
tmp = tmp->next;
}
tmp->next = node;
size ++;
}
bool remove(T t){
pNode pre, node;
pre = headNode;
node = headNode->next;