1 哈希表原理

这里不讲高深理论,只说直观感受。哈希表的目的就是为了根据数据的部分内容(关键字),直接计算出存放完整数据的内存地址。

试想一下,如果从链表中根据关键字查找一个元素,那么就需要遍历才能得到这个元素的内存地址,如果链表长度很大,查找就需要更多的时间.

void* list_find_by_key(list,key)
{for(p=list;p!=NULL; p=p->next){if(p->key == key){return p;}return p;}
}

为了解决根据关键字快速找到元素的存放地址,哈希表应运而生。它通过某种算法(哈希函数)直接根据关键字计算出元素的存放地址,由于无需遍历,所以效率很高。

void* hash_table_find_by_key(table, key)
{void* p = hash(key);return p;
}

当然,上面的伪代码忽略了一个重要的事实:那就是不同的关键字可能产生出同样的hash值。

hash("张三") = 23;
hash("李四") = 30;
hash("王五") = 23;

这种情况称为“冲突”,为了解决这个问题,有两种方法:一是链式扩展;二是开放寻址。这里只讲第一种:链式扩展。

也就是把具有相同hash值的元素放到一起,形成一个链表。这样在插入和寻找数据的时候就需要进一步判断。

void* hash_table_find_by_key(table, key)
{void* list = hash(key);return list_find_by_key(list, key);
}

需要注意的是,只要hash函数合适,这里的链表通常都长度不大,所以查找效率依然很高。

下图是一个哈希表运行时内存布局:

这里写图片描述

2 纯C实现源码

实际工作中,大多数情况下,关键字都是字符串的形式,而大多数教科书上却使用整数关键字来举例,这非常脱离实际。为此,本人决定使用纯C语言开发一个哈希表结构,供大家参考。主要特点:

  • 基于接口开发,对外彻底隐藏实现细节
  • 具有自动释放客户结构内存的回调功能
  • 采用经典的Times33哈希算法
  • 采用纯C开发,可供C和C++客户使用

HashTable.h 头文件

#pragma once
typedef struct HashTable HashTable;#ifdef __cplusplus
extern "C" {
#endif/* new an instance of HashTable */HashTable* hash_table_new();/*delete an instance of HashTable,all values are removed auotmatically.*/void hash_table_delete(HashTable* ht);/*add or update a value to ht, free_value(if not NULL) is called automatically when the value is removed.return 0 if success, -1 if error occurred.*/#define hash_table_put(ht,key,value) hash_table_put2(ht,key,value,NULL);int hash_table_put2(HashTable* ht, char* key, void* value, void(*free_value)(void*));/* get a value indexed by key, return NULL if not found. */void* hash_table_get(HashTable* ht, char* key);/* remove a value indexed by key */void hash_table_rm(HashTable* ht, char* key);#ifdef __cplusplus
}
#endif

HashTable.c 实现文件

#include "HashTable.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>#define TABLE_SIZE (1024*1024)/* element of the hash table's chain list */
struct kv
{struct kv* next;char* key;void* value;void(*free_value)(void*);
};/* HashTable */
struct HashTable
{struct kv ** table;
};/* constructor of struct kv */
static void init_kv(struct kv* kv)
{kv->next = NULL;kv->key = NULL;kv->value = NULL;kv->free_value = NULL;
}
/* destructor of struct kv */
static void free_kv(struct kv* kv)
{if (kv) {if (kv->free_value) {kv->free_value(kv->value);}free(kv->key);kv->key = NULL;free(kv);}
}
/* the classic Times33 hash function */
static unsigned int hash_33(char* key)
{unsigned int hash = 0;while (*key) {hash = (hash << 5) + hash + *key++;}return hash;
}/* new a HashTable instance */
HashTable* hash_table_new()
{HashTable* ht = malloc(sizeof(HashTable));if (NULL == ht) {hash_table_delete(ht);return NULL;}ht->table = malloc(sizeof(struct kv*) * TABLE_SIZE);if (NULL == ht->table) {hash_table_delete(ht);return NULL;}memset(ht->table, 0, sizeof(struct kv*) * TABLE_SIZE);return ht;
}
/* delete a HashTable instance */
void hash_table_delete(HashTable* ht)
{if (ht) {if (ht->table) {int i = 0;for (i = 0; i<TABLE_SIZE; i++) {struct kv* p = ht->table[i];struct kv* q = NULL;while (p) {q = p->next;free_kv(p);p = q;}}free(ht->table);ht->table = NULL;}free(ht);}
}/* insert or update a value indexed by key */
int hash_table_put2(HashTable* ht, char* key, void* value, void(*free_value)(void*))
{int i = hash_33(key) % TABLE_SIZE;struct kv* p = ht->table[i];struct kv* prep = p;while (p) { /* if key is already stroed, update its value */if (strcmp(p->key, key) == 0) {if (p->free_value) {p->free_value(p->value);}p->value = value;p->free_value = free_value;break;}prep = p;p = p->next;}if (p == NULL) {/* if key has not been stored, then add it */char* kstr = malloc(strlen(key) + 1);if (kstr == NULL) {return -1;}struct kv * kv = malloc(sizeof(struct kv));if (NULL == kv) {free(kstr);kstr = NULL;return -1;}init_kv(kv);kv->next = NULL;strcpy(kstr, key);kv->key = kstr;kv->value = value;kv->free_value = free_value;if (prep == NULL) {ht->table[i] = kv;}else {prep->next = kv;}}return 0;
}/* get a value indexed by key */
void* hash_table_get(HashTable* ht, char* key)
{int i = hash_33(key) % TABLE_SIZE;struct kv* p = ht->table[i];while (p) {if (strcmp(key, p->key) == 0) {return p->value;}p = p->next;}return NULL;
}/* remove a value indexed by key */
void hash_table_rm(HashTable* ht, char* key)
{int i = hash_33(key) % TABLE_SIZE;struct kv* p = ht->table[i];struct kv* prep = p;while (p) {if (strcmp(key, p->key) == 0) {free_kv(p);if (p == prep) {ht->table[i] = NULL;}else {prep->next = p->next;}}prep = p;p = p->next;}
}

3 测试程序

下面是测试程序源码,基于C++。

测试程序test.cpp

#include <stdio.h>
#include <stdlib.h>#include "HashTable.h"// 要放入哈希表中的结构体
struct Student
{int age;float score;char name[32];char data[1024 * 1024* 10];
};// 结构体内存释放函数
static void free_student(void* stu)
{free(stu);
}// 显示学生信息的函数
static void show_student(struct Student* p)
{printf("姓名:%s, 年龄:%d, 学分:%.2f\n", p->name, p->age, p->score);
}int main()
{// 新建一个HashTable实例HashTable* ht = hash_table_new();if (NULL == ht) {return -1;}// 向哈希表中加入多个学生结构体for (int i = 0; i < 100; i++) {struct Student * stu = (struct Student*)malloc(sizeof(struct Student));stu->age = 18 + rand()%5;stu->score = 50.0f + rand() % 100;sprintf(stu->name, "同学%d", i);hash_table_put2(ht, stu->name, stu, free_student);}// 根据学生姓名查找学生结构for (int i = 0; i < 100; i++) {char name[32];sprintf(name, "同学%d", i);struct Student * stu = (struct Student*)hash_table_get(ht, name);show_student(stu);}// 销毁哈希表实例hash_table_delete(ht);return 0;
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. JSP页面无法调用Javascript

    今天做Jsp遇到一个搞笑的问题,估计是3c标准的问题。因由:jsp页面中有外部引用javascript文件和内部写的javascript代码。但是发觉,调用内部写好的javascript无任何反应,但是调用外部引用的javascript就可以。找来找去,原来是这样:我当时写的调用外部javascript语句是<…...

    2024/4/12 10:33:50
  2. 学生成绩管理系统【C语言程序设计】

    一、功能实现:0、浏览学生信息1、输入学生信息2、增加学生信息3、修改学生信息4、删除学生信息5、按学号查询6、按班级查询7、按姓名查询8、按课堂名称查询9、按总分高低排序10、单科成绩排名11、查询班级优秀率12、清屏13、退出系统二、运用到的核心知识:0、动态链表的创建、…...

    2024/4/12 18:10:16
  3. SQL数据库查询LIMIT 数据分页

    SQL数据库查询LIMIT 数据分页SQL的语句LIMIT 约束SELECT 查询数据包表时,使得SQL查询语句返回指定的记录数(行数)。LIMIT 可以设置1个或2个int整型常量数字作为参数。LIMIT在数据分页查询时候十分有用,因为不是每一次查询都需要:SELECT * FROM table这么笨重的花费巨大性能…...

    2024/5/7 12:37:59
  4. C语言实现数据结构的链表

    链表是用一组任意的存储单元来存放线性表的结点. 为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址信息,这个信息称为指针或链 下面是C语言实现链表的数据结构及基本的算法。 # include <stdio.h># include <stdlib.h>typed…...

    2024/4/13 18:23:59
  5. javascript 点击事件执行两次js问题

    因为利用js在页面加载后添加需要点击事件的代码,发现在点击后会代码会执行两次,因为有toggle效果,导致弹窗出现又很快丢失 查了一些资料,发现这是冒泡的原因,需要在点击事件代码中加入阻止冒泡的方法: e.stopPropagation(); 但是发现还是不行 后面查到,off函数可以解除由…...

    2024/4/12 23:14:29
  6. win10 以太网消失了

    win10这里的以太网,不知道怎么消失了,网上的方法很值得参考。 1.右键window图标,打开设备管理器2.一定是先选中网络适配器,之后选择-操作–添加过时硬件(一定之后的话很重要,不然直接选择操作找不到)3.直接下一步4.添加硬件页面选择第二个5.选择网络适配器,点击下一步6…...

    2024/5/8 0:21:57
  7. 【C语言】学籍管理系统

    学籍管理系统功能简介界面功能展示具体实现的方法1.界面gotoxy()函数定义2.多文件管理分多文件管理头文件3.链表数据结构创建链表按成绩排序查询4. 文件存储5. 加密附录 功能简介链表实现基本的创建和增删改查。成绩分析,链表的冒泡排序。分管理员,老师,学生三端管理,密码的…...

    2024/5/7 17:50:20
  8. SQL语句根据具体时间查询数据

    SQL语句根据具体时间查询数据 时间格式为:年/月/日 时:分:秒 例如:2017/2/28 16:23:23 sql语句为:selecte * from A where createtime=to_date(2017/2/28 16:23:23 ,yyyy/mm/dd hh24:mi:ss);...

    2024/5/4 22:42:52
  9. 【电子产品】ThinkPad S5 Intel(R) Dual Band Wireless-AC 3165 网卡驱动莫名其妙挂掉

    设备管理器 检查网卡驱动和网络设备 设备管理器 – 网络设备 Intel(R) Dual Band Wireless-AC 3165 出现黄色感叹号。该设备无法启动。 (代码 10)Intel(R) Dual Band Wireless-AC 3165 属性 常规 – 设备状态 该设备无法启动。 (代码 10){操作失败} 请求的操作不成功。检查网络…...

    2024/4/12 20:03:14
  10. JS学习十四天----服务器端执行JS代码

    服务器端执行JS代码 话说,当今不在客户端使用JS代码才是稀罕事.由于web应用的体验越来越丰富,客户端用JS实现的逻辑也越来越多,这造成的结果就是某些几乎一致的逻辑需要在客户端和服务端各实现一遍,大牛们当然不甘心啊!幸运的是,我们可以在服务器端执行JS代码,谁让JS抱了一根大…...

    2024/4/14 22:32:08
  11. Sql语句的执行原理-MySQL

    第一步:应用程序把查询SQL语句发送给服务器端执行。我们在数据库层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:查询缓存服务器在解析一个查询语句之前,如果查询缓存是打开的(MySQL默认打开,可以使用have_query_cache查看),…...

    2024/4/9 18:00:10
  12. Hyper-V 配置网络 (高级篇)

    配置虚拟网络 MS官方文档: http://technet.microsoft.com/zh-cn/library/cc816585(WS.10).aspx 更新时间: 2009年2月 应用到: Windows Server 2008 本节描述了 Hyper-V 中虚拟网络的基础知识和您可以配置的不同类型的虚拟网络。Hyper-V 中网络的工作原理与 Virtual Server 200…...

    2024/4/13 13:28:02
  13. 【C语言】数据结构栈链式结构

    栈的链式结构数据结构声明链表节点栈顶指针相关操作入栈操作出栈操作遍历栈并输出具体测试数据结构声明 链表节点 typedef struct node {char c; // 数据struct node *next; // 指针 }node, *pt;栈顶指针 typedef struct stack {…...

    2024/4/12 10:33:50
  14. JMeter调用javascript函数

    1、使用JMeter组件JSR223 PreProcessor调用JS文件 (1)将JavaScript文件test.js放置于JMeter安装目录\bin文件目录下,test.js内容如下: 程序内容:将传入参数相乘并输出 function testJS(input1,input2) {var output = input1 * input2;return output }(2)新建测试计划、线…...

    2024/4/27 2:56:30
  15. 简易C语言学生成绩管理系统

    ReadMe文件5名学生,语数外、物理四门成绩。 1、每个人的总分,平均分 2、所有学生的各科成绩、平均分 3、按总分排序冒泡或选择排序 4、输入成绩,结果表格 5、下标法、指针法 结构体数组代表学生,学生(学号,姓名,语文、数学、英语、物理、总分、平均…...

    2024/5/7 14:49:07
  16. 数据结构---迷宫问题题解(C语言)

    数据结构—迷宫问题题解(C语言) #include<stdio.h> #include<stdlib.h> #define FALSE 0 #define TRUE 1 #define OK 1 #define M 20 #define N 20 typedef struct mark //定义迷宫内点的坐标 {int x;int y; }Mark; struct Element //数据域 {int …...

    2024/5/7 13:37:23
  17. SDN和开源十问十答

    开源软件同普通人有啥关系? 普通人只要使用智能手机或者上网,就在不知不觉中使用开源软件。智能手机的Andriod系统是开源的,iOS系统也是源于开源的Darwin。大部分网站系统是基于开源的操作系统(Linux),开源的Web服务器(nginx、Apache)和开源的数据库(MySQL)。据统计,世界排…...

    2024/4/12 10:34:44
  18. TAP-Windows Provider V9 卸载

    TAP-Windows 的卸载对TAP-Windows Provider V9的卸载删除设备↓设备管理器 —— 网络适配器 —— Tap-Windows Adapter V9...

    2024/4/12 10:35:08
  19. logback.xml sql语句输出

    在使用springBoot框架之后,日志配置文件变成了logback.xml,输出sql语句的方法为:<!-- 打印sql语句 --> <logger name="com.cmc.mq.biz.mapper" level="DEBUG" />复制上面的代码,将其添加到你的logback.xml中去,然后修改name属性,其中nam…...

    2024/4/16 19:28:55
  20. c语言学生管理系统之寻找学科最高分

    void SearchHighscore(LINK head ,int x) //单科寻找最高分数 {LINK p = (LINK)malloc(sizeof(NODE));p = head->next ;float y = Highscore(head,x);int i = 0 ;while(p){if(p->score[x] == y ){PrintStudentInformation(p);++i;pri…...

    2024/5/7 13:27:46

最新文章

  1. 静态分配IP,解决本地连接不上Linux虚拟机的问题

    在Window环境下&#xff0c;使用远程终端工具连接不了VMware搭建的Linux虚拟机&#xff08;CentOS 7&#xff09;&#xff0c;并且在命令行ping不通该Linux虚拟机的IP地址。下面通过配置网关解决本地与Linux虚拟机连接问题&#xff1a; 1 查看虚拟机网关地址 在VMware虚拟机上…...

    2024/5/8 5:36:37
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. JRT高效率开发

    得益于前期的基础投入&#xff0c;借助代码生成的加持&#xff0c;本来计划用一周实现质控物维护界面&#xff0c;实际用来四小时左右完成质控物维护主体&#xff0c;效率大大超过预期。 JRT从设计之初就是为了证明Spring打包模式不适合软件服务模式&#xff0c;觉得Spring打包…...

    2024/5/7 4:57:38
  4. 产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡

    01、产品概述 亿迅A8000金融加速卡&#xff0c;是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科&#xff0c;将可编程逻辑芯片与金融行业深度结合&#xff0c;通过可编程逻辑芯片对交易行情加速解码&#xff0c;实现低至纳秒级的解码引擎&#xff0c;端到端的处理时延…...

    2024/5/7 18:18:40
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/7 5:50:09
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57