📄 linklist.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include "Linklist.h"
//创建新链表,返回指针,未成功返回NULL
LinkList ListCreate(bool value[], int lasttime[], int num)
{
LinkList *p = new LinkList[num];
for (int i=0; i < num; i++)
{
if ((p[i] = new LNode) == 0)//若未成功创建,返回0
{
for (int j=0; j < i; j++)
{
delete p[j];
}
return 0;
}
else
{
p[i]->data.value = value[i];
p[i]->data.lasttime = lasttime[i];
if (i != 0)
{
p[i-1]->next = p[i];
}
p[i]->next = 0;
}
}
return p[0];
}
//链表头插入一节点
void ListInsertFirst(LinkList &L, const bool value, const int lasttime)
{
LinkList temp, ptr;
temp = new LNode; //新建一个链表结点
temp->data.sumtime = lasttime;
temp->data.value = value;
temp->data.lasttime = lasttime;
temp->next = L; //新建结点的指针域指向原第一个元素
L = temp; //新建结点成为首节点
ptr = temp->next;
while (ptr->next != 0) //修改其后总计时间的值
{
ptr->data.sumtime = temp->data.sumtime + ptr->data.lasttime;
temp = ptr;
ptr = temp->next;
}
}
//删除某一节点,ptr是指向要删除的元素的直接前驱的指针
bool ListDelete(LinkList &L, LinkList ptr)
{
LinkList temp;
temp = ptr->next;
ptr->next = ptr->next->next;
delete temp;
return true;
}
//在链表末尾加新的结点,ptr是指向原来的最后一个元素的指针
bool ListAdd(LinkList &ptr, const bool value, const int lasttime)
{
LinkList temp;
temp = new LNode; //新建一个链表结点
temp->data.lasttime = lasttime;
temp->data.value = value;
temp->next = 0;
ptr->next = temp;
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -