开始些了第一个数据结构的题目,毫无疑问的 时间超时了;
应该先排序再做会快一点。
冒泡排序比原来更慢了哈哈哈哈
而且中间还溢出了。 冒泡外面写的是趟数,里面是排序,小心边界。
最后用来哈希表,在王道书里面没有这一块的代码,理论知识好像自己学的还可以但是代码是 cv的,我来分析一下代码吧,不难但是需要我来看看有几个函数是怎么实现的。
我觉得有必要花一两天写个python? 好像用python会方便一点。
Uthash是c的比较优秀的源代码,它实现了常见的hash操作函数,查找、插入、删除等。
采用宏的方式实现hash函数的相关功能。(好好奇怎么宏还这么厉害的,不就是个定义方式吗!?!)
uthash中定义的哈希表中每个键值对都是一个实例化的结构体,结构体定义如下:
struct my_struct {
int id; /* key */
char name[10]; /* value */
UT_hash_handle hh; /* makes this structure hashable */
};
查找元素 HASH_FIND_INT
HASH_FIND_INT( users, &user_id, s ); /* s: output pointer */
插入元素 HASH_ADD_INT
HASH_ADD_INT( users, id, s ); /* id: name of key field */
好的,如果是这样完成的,那么我知道的少了,所以才会什么都想自己做。