VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: hxf1982

一个数据结构的问题(数据笔试题目)

[复制链接]

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-7 00:00:01 | 显示全部楼层
struct node
{
        char *name;
        struct node *next;
};

struct node *Head;

Head->name=NULL;
Head->next=NULL;

void insert(struct node *newnode)
{
        struct node *p,*q;
        p=Head;
        q=p;
        if(p->next==NULL)
        {
                p->next=newnode;
                newnode->next=NULL;
        }
        else
        {
                while(p->next!=NULL || strcmp(p->name,newnode->name)<0 )
                {
                        q=p;
                        p=p->next;
                }
                q->next=newnod;
                newnod->next=q;
        }
        return;
}

void del(struct node *oldnode)
{
        struct node *p,*q;
        p=Head;
        if(p->next==NULL)
        {
                printf("there is no data\n");
                exit(1);
        }
        else
        {
                while(p->next!=NULL || strcmp(p->name,oldnode->name)!=0)
                {
                        q=p;
                        p=p->next;
                }
                q->next=p->next;
                delete(p);
        }
        return;
}

刚写的 兄弟帮忙找找错误

还有 那个顺序查找要不要采用好的算法?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-11 21:00:01 | 显示全部楼层
楼上的,在你的insert()中,你好像没有考虑Head为NULL的情况吧?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-12 12:15:01 | 显示全部楼层
貌似错误太多了:)
好的算法就不用想了,链表只能顺序查找
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-14 12:30:01 | 显示全部楼层
mark
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-15 13:00:02 | 显示全部楼层
很简单么,先查找到要插入位置前一个节点,然后插入或删除就是了,只要仔细考虑好头和尾的特殊情况就ok了
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-16 18:00:02 | 显示全部楼层
真的好多问题 还是要去调试一下子 呵呵.

1.Head->name=NULL;
  Head->next=NULL;
2.q->next=newnod;
  newnod->next=q;
3.delete(p);

好久没用C语言了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表