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

}

相关推荐
码农的神经元14 小时前
Transformer-SSM 混合模型 vs 传统 SVM:文本分类任务的深度对比实验
支持向量机·分类·transformer
ShineWinsu2 天前
Git+云原生:如何管理K8s配置版本?
支持向量机
HySpark3 天前
从“录音”到“决策”:一套会议总结与智能分析体系的技术落地实践
人工智能·机器学习·支持向量机
youyoulg5 天前
无监督学习—聚类
人工智能·机器学习·支持向量机
机器学习之心7 天前
基于GSWOA-SVM三种策略改进鲸鱼算法优化支持向量机的数据多变量时间序列预测,Matlab代码
算法·支持向量机·matlab·优化支持向量机·gswoa-svm·三种策略改进鲸鱼算法
风启新尘8 天前
ios巨魔越狱
支持向量机·ios·智能手机
忙什么果8 天前
class_weight=‘balanced‘缓解类别不平衡问题
算法·机器学习·支持向量机
Neverfadeaway8 天前
支持向量机SVM详讲
机器学习·支持向量机·kkt条件·对偶问题·svm算法·核函数的定义·最优超平面的求解
阿钱真强道9 天前
28 Python 分类:不只是画一条线,一文认识支持向量机(SVM)
python·支持向量机·分类·svm·边界·核方法·高维
wyiyiyi9 天前
【线性代数】对偶空间与矩阵转置及矩阵分解(Java讲解)
java·线性代数·支持向量机·矩阵·数据分析