数据结构0826

//申请头结点

lian tou()

{

lian h=(lian)malloc(sizeof(node));

if(h==NULL)

return NULL;

//初始化

h->len=0;

h->next=NULL;

h->pri=NULL;

//返回

return h;

}

//申请普通节点

lian jie(int ele)

{

lian new=(lian)malloc(sizeof(node));

if(new==NULL)

return NULL;

//初始化

h->data=ele;

h->next=NULL;

h->pri=NULL;

return new;

}

//判空

int kong(lian h)

{

if(h==NULL)

return -1;

return h->next==NULL;

}

//头插

void toucha(lian h,int ele)

{

if(h==NULL)

return;

//插入

//创建普通节点

lian s=jie(ele)

//连线

//第一个h->next指向空

s->next=h->next;

s->pri=h;

//头结点后继节点的前驱指向新结点

if(h->next!=NULL)

{

h->next->pri = s;

}

//头结点的后继指向新结点

h->next = s;

H->len++;

}

//尾插

void weicha(lian h,int ele)

{

if(h==NULL)

return;

//尾插

lian s=jie(ele);

//循环找到尾部

lian p=h;

while(p->next!=NULL)

{

p=p->next;

}

//连接

s->next=NULL;

s->pri=p;

p->next=s;

}

//头删

void toushan(lian h)

{

if(h==NULL)

return;

if(kong(h))

return;

//头删

lian del=h->next;

//如果链表数量多余1

if(del->next!=NULL)

{

del->next->pri=h;

}

//让头结点的后记保存第一个节点的后记

h->next=del->next;

free(del);

h->len--;

}

//尾删

void weishan(lian h)

{

if(h==NULL)

return;

if(kong(h))

return;

lian p=h;

while(p->next!=NULL)

{

p=p->next;

}

//让倒数第二个节点指空

p->pri->next=NULL;

free(p);

h->len--;

}

//按位置插入

void ancha(lian h,int pos,int ele)

{

if(h==NULL)

return;

//判断位置合理性

if(pos<0||pos>h->len)

return;

//保存头结点

lian p=h;

//找到位置

for(int i=0;i<pos-1;i++)

{

p=p->next;

}

//创建新节点

lian s=jie(ele)

//连线

s->next=p->next;

s->pri=p;

p->next=s;

p->next->pri=s;

h->len++;

}

//按位置删除

void anshan(lian h,int pos)

{

if(h==NULL)

return;

if(kong(h))

return;

if(pos<0||pos>h->len)

return;

//保存头结点

lian p=h;

for(int i=0;i<pos-1;i++)

{

p=p->next;

}

//找到位置

//保存

lian del=p->next;

//让

p->next=del->next;

if(del->next!=NULL)

{

del->next->pri=p;

}

free(del);

h->len--;

}

相关推荐
WHD3061 天前
苏州误删除 格式化 服务器文件 恢复
随机森林·支持向量机·深度优先·爬山算法·宽度优先·推荐算法·最小二乘法
爱吃rabbit的mq1 天前
第10章:支持向量机:找到最佳边界
算法·机器学习·支持向量机
t198751282 天前
基于MATLAB的HOG+GLCM特征提取与SVM分类实现
支持向量机·matlab·分类
XX風2 天前
4.1 spectral clusterig
人工智能·机器学习·支持向量机
Ivanqhz2 天前
向量化计算
开发语言·c++·后端·算法·支持向量机·rust
(; ̄ェ ̄)。3 天前
机器学习入门(二十)支持向量机SVM
人工智能·机器学习·支持向量机
机器学习之心3 天前
BiLSTM-BP-SVR加权组合模型回归预测四模型对比,对比BiLSTM、BP神经网络、SVR支持向量机回归,MATLAB代码
神经网络·支持向量机·回归·bilstm-bp-svr
JHTfAbVfl4 天前
LabVIEW中最小二乘法:曲线拟合与报表生成的奇妙之旅
支持向量机
然哥依旧6 天前
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
算法·支持向量机·matlab·cnn
Chef_Chen8 天前
数据科学每日总结--Day50--机器学习
人工智能·机器学习·支持向量机