免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2299 | 回复: 9

[C] 【求助】一个无序链表的问题· [复制链接]

论坛徽章:
0
发表于 2013-01-29 13:12 |显示全部楼层
struct node {
    int index;
    struct node *next;
}
一个无序链表,每个的index都不一样,如何找到这个链表中最小的且没有用过的index?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2013-01-29 13:19 |显示全部楼层
遍历,找到最小的index,减1

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-08 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-09-18 06:20:00数据库技术版块每周发帖之星
日期:2015-11-06 19:56:51数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00数据库技术版块每日发帖之星
日期:2016-02-05 06:20:00
发表于 2013-01-29 13:46 |显示全部楼层
什么叫没有用过的?
比如:
3->8->6->4->9
你想返回啥,找到 3 这个位置么?

论坛徽章:
0
发表于 2013-01-29 13:52 |显示全部楼层
index最小为1,也就是说如果找到的最小的index = 1这种方法就没用了呀~~
hellioncu 发表于 2013-01-29 13:19
遍历,找到最小的index,减1

论坛徽章:
0
发表于 2013-01-29 13:55 |显示全部楼层
差不多吧,但是以为index一定要大于1,那么如果是
1->2>4>5这样要获得的index就是3
也就是说找到一个大于1且链表中没有出现过的最小的数
asdf2110 发表于 2013-01-29 13:46
什么叫没有用过的?
比如:
3->8->6->4->9

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2013-01-29 13:59 |显示全部楼层
郁闷饿 发表于 2013-01-29 13:52
index最小为1,也就是说如果找到的最小的index = 1这种方法就没用了呀~~


你本来又没说要>0

论坛徽章:
0
发表于 2013-01-29 14:09 |显示全部楼层
那如果加上这个条件的话怎么弄啊~~
hellioncu 发表于 2013-01-29 13:59
你本来又没说要>0

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2013-01-29 14:16 |显示全部楼层
郁闷饿 发表于 2013-01-29 14:09
那如果加上这个条件的话怎么弄啊~~


一种方法:
bit数组,遍历链表,已用的index置1,再取最小的为0的位

论坛徽章:
0
发表于 2013-01-29 14:43 |显示全部楼层
多谢,我试试哈~
hellioncu 发表于 2013-01-29 14:16
一种方法:
bit数组,遍历链表,已用的index置1,再取最小的为0的位

论坛徽章:
0
发表于 2013-01-29 15:12 |显示全部楼层
呵呵,这玩意跟链表有关系么?用位图数组标识一下就可以了,轮一遍链表,再轮一下位图{:3_189:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP