打印

请教个多对多的问题。。谢谢。。

[复制链接]
1782|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LPcfANS|  楼主 | 2009-4-10 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有两组字符串A,B。
A有10个字符串 ,B有35个。
A中的每一个字符串对应B中的1或2个或3个或。。。7个,对应不重复。
如:A1--》B1,B2,B3
    A2--》B4,B5
    A3--》B6,B7,B8,B9
。。。。。
问:用哪种方法可以简单快捷把他们联系起来呢?
我现在用的是SWITCH CASE 和枚举变量结合 ,感觉不是很好。

相关帖子

沙发
emailli| | 2009-4-10 10:59 | 只看该作者

写一个函数

传递进去的参数是A
传递出来的参数是结果


使用特权

评论回复
板凳
LPcfANS|  楼主 | 2009-4-10 11:59 | 只看该作者

谢谢。。有没有一种数据结构,可以直接连起来?

昨天看了一下数据手册,没发现。

使用特权

评论回复
地板
HWM| | 2009-4-10 12:05 | 只看该作者

链表

使用特权

评论回复
5
songbangyan| | 2009-4-10 12:58 | 只看该作者

组合为二维数组

使用特权

评论回复
6
LPcfANS|  楼主 | 2009-4-10 13:05 | 只看该作者

二位数组?不是固定的对应。链表我也看了,没弄出。

谢谢。。。

使用特权

评论回复
7
emailli| | 2009-4-10 15:16 | 只看该作者

既然这样。你做一个这样的数据结构

第一个数据是来源与A
第二个数据是A关联的B的个数
第三个,第四个等是B的一个列表
不足补0
以最长的一个组合为这个数组的长度

这样你只要找到了Ax,就根据Ax后面的长度值,可以知道后面有几个关联的Bx

随后你就知道了关联的Bx到底是什么了

使用特权

评论回复
8
LPcfANS|  楼主 | 2009-4-10 17:28 | 只看该作者

谢谢emailli。。。。

使用特权

评论回复
9
bjc125| | 2009-4-10 20:05 | 只看该作者

路过 学习中

使用特权

评论回复
10
刘前辈| | 2009-4-10 21:20 | 只看该作者

唉, 还要自己想方法?

书上早就有了!
《C和指针》P163 - “指针数组”
char const keyword[ ]={
"do",
"for",
"if",
“register",
"trturn",
"switch",
"while"
};

指针指向的字符串“数组”可以不等长。

判断参数是否于一个关键字列表中的任何单词匹配,并返回匹配的索引值。

int lookup_keyword(char const *const desired word,
char const *keyword_table[ ],int const  size)
{
.......
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

1614

帖子

1

粉丝