问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言顺序表的插入?

发布网友 发布时间:2023-01-17 06:34

我来回答

1个回答

热心网友 时间:2023-11-18 11:04

#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct node
{
ElemType data; /*数据域*/
struct node *next; /*指针域*/
} SLink;
int GetLength(SLink *L) /*求线性表的长度*/
{
int i=0;
SLink *p=L->next;
while (p!=NULL)
{
i++;
p=p->next;
}
return i;
}
int InsElem(SLink *L,ElemType x,int i) /*插入结点*/
{
int j=1;
SLink *p=L,*s;
s=(SLink *)malloc(sizeof(SLink)); /*创建data域为x的结点*/
s->data=x;s->next=NULL;
if (i<1 || i>GetLength(L)+1)
return 0; /*i参数不正确,插入失败,返回0*/
while (j<i) /*从头结点开始找,查找第i-1个结点,由p指向它*/
{
p=p->next;j++;
}
s->next=p->next; /*将*s的next域指向*p的下一个结点(即第i个结点)*/
p->next=s; /*将*p的next域指向*s,这样*s变成第i个结点*/
return 1; /*插入运算成功,返回1*/
}
int DelElem(SLink *L,int i) /*删除结点*/
{
int j=1;
SLink *p=L,*q;
if (i<1 || i>GetLength(L))
return 0; /*i参数不正确,插入失败,返回0*/
while (j<i) /*从头结点开始找,查找第i-1个结点,由p指向它*/
{
p=p->next;j++;
}
q=p->next; /*由q指向第i个结点*/
p->next=q->next; /*将*p的next指向*q之后结点,即从链表中删除第i个结点*/
free(q); /*释放第i个结点占用的空间*/
return 1; /*删除运算成功,返回1*/
}

热心网友 时间:2023-11-18 11:04

#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct node
{
ElemType data; /*数据域*/
struct node *next; /*指针域*/
} SLink;
int GetLength(SLink *L) /*求线性表的长度*/
{
int i=0;
SLink *p=L->next;
while (p!=NULL)
{
i++;
p=p->next;
}
return i;
}
int InsElem(SLink *L,ElemType x,int i) /*插入结点*/
{
int j=1;
SLink *p=L,*s;
s=(SLink *)malloc(sizeof(SLink)); /*创建data域为x的结点*/
s->data=x;s->next=NULL;
if (i<1 || i>GetLength(L)+1)
return 0; /*i参数不正确,插入失败,返回0*/
while (j<i) /*从头结点开始找,查找第i-1个结点,由p指向它*/
{
p=p->next;j++;
}
s->next=p->next; /*将*s的next域指向*p的下一个结点(即第i个结点)*/
p->next=s; /*将*p的next域指向*s,这样*s变成第i个结点*/
return 1; /*插入运算成功,返回1*/
}
int DelElem(SLink *L,int i) /*删除结点*/
{
int j=1;
SLink *p=L,*q;
if (i<1 || i>GetLength(L))
return 0; /*i参数不正确,插入失败,返回0*/
while (j<i) /*从头结点开始找,查找第i-1个结点,由p指向它*/
{
p=p->next;j++;
}
q=p->next; /*由q指向第i个结点*/
p->next=q->next; /*将*p的next指向*q之后结点,即从链表中删除第i个结点*/
free(q); /*释放第i个结点占用的空间*/
return 1; /*删除运算成功,返回1*/
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 小知识废电池充电(手机电池充电和使用小知识) 六丑·杨花原文_翻译及赏析 盔甲架怎么做 我的世界手机版盔甲架怎么做 海信电视怎么看电视台直播? 诗中有羿和王写激励自我的古诗词有哪些 特种专业工程专业承包资质(特种防雷技术)是否什么防雷工程都可以做 请把我的歌带回家!请把微笑留下?求意思? 为什么梁启超写下气吞山河的《少年中国说》? 用友T6,打印凭证第一页正常,第二页向上移。怎么回事? 用友T6发票套打设置 用友T6凭证套打选项无法勾选 手机绑定新浪微博后怎么发微博啊 手机新浪微博怎么发? 不红包怎么退回 如何将QQ空间的相片加相框? 我想把空间的照片加上相框怎么弄呀我也不会 QQ空间照片怎么弄相框 在QQ空间里面的照片怎样加像框 如何把空间照片加上相框? 考研考几科每科多少分 文言文社稷之神灵翻译 帮忙翻译这几句:(是新唐书148卷的,好像是讲王承元的) 1.诸君不忘王氏以及孺子,苟有令,其从我乎。 2. 杜甫《田舍》原文及翻译赏析 白居易《买花╱牡丹》原文及翻译赏析 陶渊明《癸卯岁始春怀古田舍二首》原文与赏析 和陶田舍始春怀古二首其一原文|翻译|赏析_原文作者简介 零食店铺名字大全 创意430个 家常泡辣椒 家常泡辣椒的注意事项 相见欢 李煜译文翻译 杂诗七首·其四原文|翻译|赏析_原文作者简介 张孝祥《水调歌头·过岳阳楼作》原文及翻译赏析 贵阳美食.关于洋芋的N+1种吃法--脆哨土豆泥 贵州哪里的土豆丝饼最好吃 如何诱捕甲鱼 衣服上的油渍时间长了怎么去除小窍门衣服上的油渍时间长了如何... 谁用过大智慧里智慧钱包怎么样 建行智慧行钱包收费吗 tgpαy智能钱包安全吗 林州市一中录取分数线2022