一道数据结构的题,求能人帮忙,,,急急急。。。
写出单链表的前插操作,将值为x的结点插入到值为y的结点之前,要求写出单链表的定义和前插操作的函数(其中包括找到要插入结点的位置)。...
写出单链表的前插操作,将值为x的结点插入到值为y的结点之前,要求写出单链表的定义和前插操作的函数(其中包括找到要插入结点的位置)。
展开
1个回答
展开全部
//定义,即申明
void ListInitiate (SLNode ** head)
{
if((*head=(SLNode *)malloc(sizeof(SLNode)))==NULL)
exit(1);
(*head)->head=NULL;
}
//输入数据,即在链表的第i各位钱插入数据x
int ListInsert(SLNode *head,int i,DataType x)
{
SLNode *p,*q;
int j;
p=head;
j=-1;
while(p->next!=NULL&&j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("插入位置参数错!\n");
return 0;
}
if((q==(SLNode *)malloc(sizeof(SLNode)))==NULL)
exit(1);
q->next=p->next;
p->next=q;
return 1;
}
这是调用函数,主函数你随便写写就好了
void ListInitiate (SLNode ** head)
{
if((*head=(SLNode *)malloc(sizeof(SLNode)))==NULL)
exit(1);
(*head)->head=NULL;
}
//输入数据,即在链表的第i各位钱插入数据x
int ListInsert(SLNode *head,int i,DataType x)
{
SLNode *p,*q;
int j;
p=head;
j=-1;
while(p->next!=NULL&&j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("插入位置参数错!\n");
return 0;
}
if((q==(SLNode *)malloc(sizeof(SLNode)))==NULL)
exit(1);
q->next=p->next;
p->next=q;
return 1;
}
这是调用函数,主函数你随便写写就好了
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询