|
![]() | 作者: top [top]
![]() |
登录 |
有个程序要求在线性表删除相同节点,若有相同的就删除其后面一个节点! 题是这样的:一线性表,长度为20,节点依次递增,要编程解决如下问题: 若有相同节点则删除其后一节点 我们用的是 if(a[i]==a[i+1]) a[i]=a[i+1] 但是删后的节点不知道怎么办, 比如是5个数 1,3,3,4,4,5 结果是1,3,4,5,5,5应该是1,3,4,5才对啊!它自己补了两位,怎么办呢? [此贴被 偃月狂刀(top) 在 5月20日21时5分 编辑过] |
地主 发表时间: 5/20 21:45 |
![]() | 回复: dizi0774 [dizi0774] ![]() |
登录 |
用指针呀,指针指向下一节点,若相同,则将指针指向下一节点的下一节点.以此类推. 若用数组的话,就你上面的例子改一下: a[5]=0; /*这里设0为数组结束标志,你也可设为其它的东东.*/ for(i=0;a[i]!=0;i++) for(j=i+1;a[j]!=0;j++) {if(a[i]==a[j]) { for(tepm=j;a[temp]!=0;temp++) a[temp]=a[temp+1]; a[--temp]=0; } if(a[i]==a[j])j--; } 另外:本程序没有经过调试,仅供参考. |
B1层 发表时间: 05/20 22:34 |
![]() | 回复: top [top] ![]() |
登录 |
解决不了删除后的随机数!哎`` |
B2层 发表时间: 05/23 00:35 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号