数据结构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--;

}

相关推荐
_Li.7 小时前
机器学习-非度量方法
人工智能·机器学习·支持向量机
天呐草莓11 小时前
支持向量机(SVM)
人工智能·python·算法·机器学习·支持向量机·数据挖掘·数据分析
foundbug99911 小时前
LibSVM与模糊支持向量机(FSVM)分类方法详解
机器学习·支持向量机·分类
wuk99811 小时前
基于MATLAB的MFCC特征提取与SVM训练实现
开发语言·支持向量机·matlab
俊俊谢2 天前
【机器学习】python使用支持向量机解决兵王问题(基于libsvm库)
python·机器学习·支持向量机·svm·libsvm
roman_日积跬步-终至千里3 天前
【计算机视觉(11)】损失函数与优化基础篇:如何训练线性分类器
机器学习·支持向量机·计算机视觉
YIFAN.WANG3 天前
AI中的优化7-有约束非线性规划
人工智能·机器学习·支持向量机
feifeigo1234 天前
SVM分类在高光谱遥感图像分类与预测中的应用
算法·支持向量机·分类
玦尘、5 天前
《统计学习方法》第7章——支持向量机SVM(下)【学习笔记】
机器学习·支持向量机·学习方法
fengfuyao9857 天前
基于MATLAB的支持向量机在故障诊断中的应用例程
开发语言·支持向量机·matlab