24小时热门版块排行榜    

查看: 839  |  回复: 4

FWei灵

铜虫 (小有名气)

[交流] 求代码解释 已有4人参与

各位大虾、、、、

帮帮我解释一下这代码、、小弟是刚学的、、、
、、、、、、谢谢、、、
#include
#include

typedef  int ElemType;
typedef struct LinkNode
{  ElemType data;
   struct LinkNode *next;
}LinkNode,LinkList;

int n; /*n作为整个程序的全局变量*/
LinkList *create(void)
{        LinkNode *head,*p1, *p2;
        n=0;
        p1=p2=(struct LinkNode *)malloc(sizeof(LinkNode));
        scanf("%d",&p1->data);
        head=NULL;
        while(p1->data!=0)
        {        n=n+1;
                if(n==1)
                        head=p1;
                else
                        p2->next=p1;
                p2=p1;
                p1=(struct LinkNode *)malloc(sizeof(LinkNode));
                scanf("%d",&p1->data);
        }
        p2->next=NULL;
        return(head);
}

int insertLink(LinkList *head, int i,ElemType e)
{        LinkNode *p,  *s;  
        int j;
        p=head; j=0;
        while(p && j         {        p=p->next;
                j++;
        }
        if(!p||j>i-1)
        {        printf("无法插入" );
                return 0;
        }
        s=(struct LinkNode *)malloc(sizeof(LinkNode));
        s->data=e;
        s->next=p->next;
        p->next=s;
        return 1;
}

int deleteLink(LinkList *head,int i)
{
        LinkNode *p, *q;
        int j;
        p=head;
        j=0;
        while(p->next && j         {        p=p->next;
                j++;
        }
        if(!(p->next)||j>i-1)
        {        printf("无法删除" );
                return 0;
        }
        q=p->next;
        p->next=q->next;
       
        free(q);
        return 1;
}

void printLink(LinkList *link)
{
        LinkNode *p;
        p=link;
        printf("链表数据结果:\n" );
        while (p)
        {
                printf("%d-> ",p->data);
                p=p->next;
        }
        printf("\n" );
}

void main()
{
        LinkList *link;
        link=create();
        printLink(link);
        insertLink(link,2,99);
        printLink(link);
        deleteLink(link,3);
        printLink(link);
}

[ Last edited by jjdg on 2012-3-9 at 03:02 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

smart0193

木虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-03-09 03:01:19
这个程序是一个链表操作的。包括链表的创建、删除等操作。找本数据结构书,都会讲到。这么长的程序,你想咋解释?呵呵。
一个奋斗在三流高校的教育界民工
2楼2012-03-08 19:04:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
xzhdty(金币+1): 欢迎常来程序语言看看 2012-03-08 19:57:36
楼主这个是链表中最简单的单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。

一个单向链表的节点被分成两个部分。第一个部分保存或者显示关于节点的信息,第二个部分存储下一个节点的地址。单向链表只可向一个方向遍历。链表最基本的结构是在每个节点保存数据和到下一个节点的地址,在最后一个节点保存一个特殊的结束标记。

最基本的操作:建立create, 插入insertLink, 删除deleteLink, 当然还有查找遍历。
很女子很弓虽大
3楼2012-03-08 19:05:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lt292

金虫 (正式写手)

Holy Shit

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-03-09 03:01:27
好几年不看c语言,我表示,我已经看不懂了
记忆中的颜色,慢慢褪去,变成一缕缕的黑丝,最终消失在茫茫的空白里,一去不返```
4楼2012-03-08 20:36:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ltcc2000

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
其中有很多宏语句,看不懂
海阔凭鱼妖
5楼2012-03-09 09:37:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 FWei灵 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 cBGhfJFuNMca 2026-08-02 19/950 2026-08-02 16:24 by jHcrHMhbKCFV
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 15/750 2026-08-02 16:23 by jHcrHMhbKCFV
[博后之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 19/950 2026-08-02 16:23 by jHcrHMhbKCFV
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 19/950 2026-08-02 16:21 by jHcrHMhbKCFV
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +18 低垂的野花 2026-07-31 24/1200 2026-08-02 16:03 by swallowwh
[基金申请] 面上提前没消息,有中的吗 +9 archvillain 2026-08-02 11/550 2026-08-02 15:44 by alexon
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 8/400 2026-08-02 15:01 by jHcrHMhbKCFV
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 cBGhfJFuNMca 2026-08-02 14/700 2026-08-02 14:58 by jHcrHMhbKCFV
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 cBGhfJFuNMca 2026-08-02 16/800 2026-08-02 13:34 by jHcrHMhbKCFV
[基金申请] 2026年国自然面上资助率 +15 布布和一二 2026-07-30 21/1050 2026-08-02 10:56 by iaeyuan
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +8 锦衣卫寒战 2026-07-28 10/500 2026-08-02 10:00 by 锦衣卫寒战
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 7/350 2026-08-02 07:59 by 88817753
[基金申请] 微信指数没变化,科研之友没阅读 +14 wangze12014 2026-07-28 18/900 2026-07-31 18:35 by lzchaihuo
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
[有机交流] 产物和副产物价值比较 30+4 小汤02 2026-07-27 5/250 2026-07-30 12:44 by czyzsu
[基金申请] 同事接到电话了,我却没有 +4 1234567wang 2026-07-27 4/200 2026-07-28 10:11 by GOODLUCKER
[基金申请] 准备明年的基金了 +5 Tide man 2026-07-27 5/250 2026-07-28 09:25 by newfuzzy1
信息提示
请填处理意见