最全c语言之静态链表_slinknode是什么意思(1),2024年最新C C++面试复习重点

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

typedef unsigned int uint;
uint cnt = 0;

void Initlist(void);
uint Delete(uint data);
slinknode * findAdr(void);
uint Insert(uint data);
void pr(slinknode * ptr);

int main()
{
Initlist();
Insert(1);
Insert(2);
Insert(3);
Insert(4);
pr(listadr);
printf(“____________________\n”);
Delete(4);
pr(listadr);
printf(“____________________\n”);
Delete(3);
pr(listadr);

return 0;

}

void Initlist(void)
{
uint i;
for(i=0; i<linksizemax; i++){//先将内存初始化
list[i].next = NULL;
}
listadr = NULL;
cnt = 0;

}

slinknode * findAdr(void)
{
uint i;

if(cnt < linksizemax)
{
    for(i = 0; i < linksizemax; i++)
    {
        if(list[i].next == NULL)
        {
            return &list[i];//在数组里面寻找空的地方,来存放。 
        }   
    } 
}
return NULL; 

}

uint Insert(uint data)
{
slinknode *tempptr = NULL;

tempptr = findAdr();

if(tempptr != NULL)
{
    tempptr->data = data;

    if(!cnt)//如果是首元素 
    {
        tempptr->next = tempptr;
        listadr = tempptr;
    }
    else
    {

        tempptr->next = listadr->next;
        listadr->next = tempptr;
        /\* 

这样不行 这样的最后一个节点的next一直都是指向第一次插入的节点(也就是本身) 不会变化
tempptr->next = listadr;
listadr = tempptr;
*/
}
cnt++;
return 1;
}
return 0;
}

uint Delete(uint data)
{
uint i;
slinknode *temp = NULL;
temp = listadr;
if(cnt == 1 && listadr->data == data)//判断当只有一个元素时要删除的情况
{
listadr = NULL;
cnt–;
return 1;
}

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值