标题:谁能帮我编出来,我把分全给他!!!
只看楼主
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
得分:0 
我写的自动语法高亮的软件你见过了吧?
我的自动编译测试的OJ系统你见过了吧?

数据查询那只是很简单但很繁琐的事
那还有什么东西有技术上的难度呢?

" border="0" />[color=white]
2008-04-30 00:24
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
得分:0 
能不能介绍一下.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2008-04-30 00:29
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
得分:0 
你想要我介绍什么?

[color=white]
2008-04-30 11:35
笨鸟先飞%
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2008-10-31
得分:0 
这是我的见解,望指教



因为两链表已按元素值递增次序排列,将其合并时,均从第一个结点起进行比较,将小的链入链表中,同时后移链表工作指针。该问题要求结果链表按元素值递减次序排列。故在合并的同时,将链表结点逆置。
LinkedList Union(LinkedList la,lb)
  ∥la,lb分别是带头结点的两个单链表的头指针,链表中的元素值按递增序排列,本算法将两链表合并成一个按元素值递减次序排列的单链表。
  { pa=la->next; pb=lb->next;∥pa,pb分别是链表la和lb的工作指针
    la->next=null;           ∥la作结果链表的头指针,先将结果链表初始化为空。
    while(pa!=null && pb!=null) ∥当两链表均不为空时作
      if(pa->data<=pb->data)
        { r=pa->next;           ∥将pa 的后继结点暂存于r。
          pa->next=la->next;    ∥将pa结点链于结果表中,同时逆置。
la->next=pa;
pa=r;                 ∥恢复pa为当前待比较结点。
}
           else
{r=pb->next;∥ 将pb 的后继结点暂存于r。
pb->next=la->next; ∥将pb结点链于结果表中,同时逆置。
la->next=pb;
pb=r; ∥恢复pb为当前待比较结点。
}
          while(pa!=null) ∥将la表的剩余部分链入结果表,并逆置。
           {r=pa->next; pa->next=la->next; la->next=pa; pa=r; }
          while(pb!=null)
           {r=pb->next; pb->next=la->next; la->next=pb; pb=r; }
        }∥算法Union结束。
[算法讨论]上面两链表均不为空的表达式也可简写为while(pa&&pb),两递增有序表合并成递减有序表时,上述算法是边合并边逆置。也可先合并完,再作链表逆置。后者不如前者优化。算法中最后两个while语句,不可能执行两个,只能二者取一,即哪个表尚未到尾,就将其逆置到结果表中,即将剩余结点依次前插入到结果表的头结点后面。
2008-10-31 20:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210919-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.358429 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved