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

}

相关推荐
运维行者_2 天前
ISP 企业级带宽计费怎么做?网络流量计费的 6 大核心能力
运维·服务器·网络·数据库·支持向量机·接口隔离原则
菜冻鱼20 天前
Python-pytorch-训练流程
开发语言·人工智能·pytorch·python·深度学习·支持向量机·sklearn
比奇堡裤头村21 天前
统计学习方法——支持向量机
算法·支持向量机·学习方法
菜冻鱼23 天前
Python-sklearn-降维
开发语言·人工智能·python·机器学习·支持向量机·sklearn
watersink24 天前
机器学习支持向量机
人工智能·机器学习·支持向量机
计科杨某人24 天前
机器学习基本常识
随机森林·机器学习·支持向量机·监督学习·强化学习·最小二乘法·无监督学习
An独行者1 个月前
基于主成分分析与两级分层支持向量机框架的烘焙咖啡掺假物高光谱成像检测
算法·机器学习·支持向量机
菜冻鱼1 个月前
Python-sklearn-SVM
开发语言·人工智能·python·机器学习·支持向量机·numpy·sklearn
崖边看雾1 个月前
机器学习——支持向量机
人工智能·机器学习·支持向量机
Tasiorh1 个月前
《SVM支持向量机》在数学建模中实际运用
算法·机器学习·支持向量机·数学建模·svm