C语言leetcode刷题笔记_1(哈希表练习)

c语言使用哈希表练习
1、指针变量定义

(1)int *a = 0;(错:此时在定义地址值)
(2)int* returnSize;
     *returnSize = 0;
     (报错,只能初始化一个地址?)
(3)正确定义1
	int target = 3;
	int* returnSize;
	returnSize = ⌖
(4)正确定义2
	int target = 3;
	int* returnSize = ⌖

2、malloc

C语言:
int* re = malloc(sizeof(int) * 2);
刚开始文件类型弄成了c++,报错了,改成c就好了
c++文件的malloc返回值是void类型,需要强制类型转化
C++:
struct Hashtable* temp = (struct Hashtable*)malloc(sizeof(struct Hashtable));
int* re =(int*)malloc(sizeof(int) * 2);

3、C文件的函数返回值类型错误没有关系
4、C文件的Main函数最后必须加上

return 0;//结束程序
system("pause");//按任意键继续

5、visual studio的一个项目只能有一个文件中带main函数
6、uthash使用:
(1)直接添加uthash.h文件到项目的头文件中。
保存一下会用到的头文件
(2)uthash使用

struct Hashtable {  //定义哈希结构
	int key;
	int value;
	UT_hash_handle hh;
};

struct Hashtable* hashtable; //定义哈希表查找数据
	struct Hashtable* temp;
	HASH_FIND_INT(hashtable, &ikey, temp);
	return temp;
}
int insert(int ikey, int ival) {   //在哈希表中插入数据
	struct Hashtable* temp = find(ikey);
	if (temp == NULL) {
		struct Hashtable* temp = malloc(sizeof(struct Hashtable));
		temp->key = ikey;
		temp->value = ival;
		HASH_ADD_INT(hashtable, key, temp);
	}
	else {
		temp->value = ival;
	}
}

7、输出格式

printf("%d,%d", re[0], re[1]);

8、for循环中不能定义int i,需要在for之外定义
9、头文件

#include <stdio.h>
#include <stdlib.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值