C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了指针——可能我学的还只是c++的皮毛大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
C. 线性链表的插入与删除

单点时限: 2.0 sec

内存限制: 256 MB

实现线性链表的插入与删除操作

只需完成给定函数的定义。

NODE* insertLinklist(NODE* head,int tar,int val) { // TODO } NODE* deleteLinklist(NODE* head,int tar) { // TODO } 

其中

NODE表示链表的结构体,定义如下

typedef struct node { int data; //存储数据 struct node* next; //指向下一个节点的指针 } NODE; 

head指向链表的头结点,如果链表为空,headNULL

显然,为了完成该链表维护工作,你需要实现上述两个辅助函数

插入操作中:

tarval表示将存放新值val的节点插入到值为tar的节点之后

删除操作中:

tar表示删除存放值为tar的节点(若有多个节点存放的值是tar,则删除一个

如果链表为空则忽略当前操作

提示

只能使用C或者C++提交。

对于C/C++,判题程序类似,如下:

#include <stdio.h> #include <stdlib.h> typedef struct node { int data; struct node* next; } NODE; NODE* insertLinklist(NODE* head,int val); NODE* deleteLinklist(NODE* head,int tar); /* 你的代码将会被嵌入在这个位置 */ int @H_849_28@main() { /* 输入及其他处理,细节隐藏不表 */ NODE* head = createLinklist(/* 创建链表,细节隐藏不表 */); for (/* 若干操作,细节隐藏不表 */) if(/* 判断插入还是删除,细节隐藏不表 */) head = insertLinklist(); else head = deleteLinklist(); /* 后续判题,细节隐藏不表 */ return 0; } 

说这只是一道不的水题,但是弄得我头都大了;
@H_450_397@
NODE* insertLinklist(NODE* head,int tar,int val) 
{
    if(head==NULL)//
    {
        NODE* p=(NODE*)malloc(sizeof(NODE));
        p->data=val;
        p->next=NULL;
        head=p;
    }
    else
    {
        NODE* p=head;
        NODE* pnew=(NODE*)malloc(sizeof(NODE));//动态申请指针 
        while(p->data!=tar)
        {
            p=p->next;
        }
        pnew->data=val;
        pnew->next=p->next;
        p->next=pnew;
    }
    
    return head;
} 

NODE* deleteLinklist(NODE* head,int tar)
{
    if(head==NULL) return head;
    if(head->data==tar)
    {
        head=head->next;
        return head;
    }
    NODE* last=head;
    NODE* Now=head->next;
    while(Now->data!=tar)
    {
        Now=Now->next;
        last=last->next;
    }
    last->next=Now->next;
    return head;
}

指针还是用->吧,不然会CE;

NODE* p和NODE *p等价,看习惯;

还有要注意指针=指针,类型要看好;

如果要找到一个变量的地址,用int *p=&a;

&取地址

大佬总结

以上是大佬教程为你收集整理的指针——可能我学的还只是c++的皮毛全部内容,希望文章能够帮你解决指针——可能我学的还只是c++的皮毛所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。