1.用C语言自定义链表,使得插入的第一个数据为0X01,第二个数据为0x0202,第三个数据为0X030303,第N个数据为0Xnn...n,并通过输入数据,查找出为第几个数据(请教一下,在插入数据是这一段的代码,和插入时数据的规律和思路,万分感谢!)
2.测试用例的设计思路
如果n 小于等于 255 (0xFF) 那么就很好做
列个数据表 看看规律 第几个节点就开几个字节的空间 同时每个字节都赋值为相应的值
链表节点位 数据 字节大小 内存中二进制
1 0x01 1字节 0000 0001
2 0x0202 2字节 0000 0010 | 0000 0010
3 0x030303 3字节 0000 0011 | 0000 0011 | 0000 0011
4 0x04040404 4字节 0000 0100 | 0000 0100 | 0000 0100 | 0000 0100
......
255 0xFF...FF 255字节 1111 1111 |......| 1111 1111
......
如果n没有限制大小 会稍微复杂些
我的想法是 节点大于1个字节的最大值 每次申请2个字节 (可以强转为short来赋值)
如果数据这么有规律, 那么一个简单的算法就推导出来了, 不用再搞链表来插入。