From 385a52ab24967904d964e233f3acf6123c0014f5 Mon Sep 17 00:00:00 2001 From: cryindevil <22489984221@qq.com> Date: Fri, 30 Jun 2023 00:08:22 +0800 Subject: [PATCH] demo --- APP_Framework/Applications/app_test/Kconfig | 4 + APP_Framework/Applications/app_test/Makefile | 4 + .../Applications/app_test/test_hash/README.md | 156 +++++++++++++ .../app_test/test_hash/screen.png | Bin 0 -> 130564 bytes .../app_test/test_hash/test_hash.c | 218 ++++++++++++++++++ APP_Framework/Applications/main.c | 2 +- 6 files changed, 383 insertions(+), 1 deletion(-) create mode 100644 APP_Framework/Applications/app_test/test_hash/README.md create mode 100644 APP_Framework/Applications/app_test/test_hash/screen.png create mode 100644 APP_Framework/Applications/app_test/test_hash/test_hash.c diff --git a/APP_Framework/Applications/app_test/Kconfig b/APP_Framework/Applications/app_test/Kconfig index 45df5f5d5..6f922d703 100644 --- a/APP_Framework/Applications/app_test/Kconfig +++ b/APP_Framework/Applications/app_test/Kconfig @@ -239,6 +239,10 @@ menu "test app" menuconfig USER_TEST_TIMER bool "Config test soft timer" default n + + menuconfig USER_TEST_HASH + bool "Config test hash" + default y endif endmenu diff --git a/APP_Framework/Applications/app_test/Makefile b/APP_Framework/Applications/app_test/Makefile index 1cf919846..c5fd51038 100644 --- a/APP_Framework/Applications/app_test/Makefile +++ b/APP_Framework/Applications/app_test/Makefile @@ -100,6 +100,10 @@ ifeq ($(CONFIG_ADD_XIZI_FETURES),y) ifeq ($(CONFIG_USER_TEST_TIMER),y) SRC_FILES += test_timer.c endif + + ifeq ($(CONFIG_USER_TEST_HASH),y) + SRC_FILES += test_hash/test_hash.c + endif include $(KERNEL_ROOT)/compiler.mk endif diff --git a/APP_Framework/Applications/app_test/test_hash/README.md b/APP_Framework/Applications/app_test/test_hash/README.md new file mode 100644 index 000000000..39b7fb693 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_hash/README.md @@ -0,0 +1,156 @@ +# ##基于cortex-m3-emulator实现哈希表并测试验证## + +## 1. 简介 +实现哈希表,支持链地址法解决哈希冲突,并编写测试程序在shell终端打印结果 +因为没有说明哈希的具体实现完成程度,以个人理解程度实现,以熟悉热身为目的 + + +## 2. 数据结构设计说明 +```C +#define TABLE_SIZE 10//哈希表的长度,使用宏定义,有需要可直接更改 + +typedef struct Node { + int key; + int value; + struct Node* next; +} Node;//一个结点的数据类型,包含key,value,和指向下一个结点的指针 + +typedef struct HashTable { + Node** table; // 存储链表头指针的数组 +} HashTable; +``` + + +## 3. 测试程序说明 +包含两大部分函数 +1,初始化链表使用的函数 +```C +//创建一个结点,在添加键值对时使用 +Node* createNode(int key, int value) { + Node* newNode = (Node*)malloc(sizeof(Node)); + newNode->key = key; + newNode->value = value; + newNode->next = NULL; + return newNode; +} + +//初始化哈希表 +HashTable* createHashTable() { + HashTable* hashTable = (HashTable*)malloc(sizeof(HashTable)); + hashTable->table = (Node**)calloc(TABLE_SIZE, sizeof(Node*)); + return hashTable; +} + +// 哈希函数,计算键的索引 +int hashFunction(int key) { + return key % TABLE_SIZE; +} +``` +2,对链表进行更改的函数,共五个操作即五个函数 +```C +// 在哈希表中插入键值对 +void insert(HashTable* hashTable, int key, int value) { + int index = hashFunction(key); + + Node* newNode = createNode(key, value); + + if (hashTable->table[index] == NULL) { + hashTable->table[index] = newNode; + } else { + Node* current = hashTable->table[index]; + while (current->next != NULL) { + current = current->next; + } + current->next = newNode; + } +} + +// 在哈希表中查找是否有该键,有则返回1,无则返回0 +int find(HashTable* hashTable, int key) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key) { + return 1; + } + current = current->next; + } + + return 0; +} + +// 在哈希表中查找键对应的值,找到返回键对应的值,如果未找到返回-1 +int get(HashTable* hashTable, int key) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key) { + return current->value; + } + current = current->next; + } + + return -1; +} + +//将某一键值对的值改变为新的值,修改成功返回1,如果未找到该键值对返回0 +int change(HashTable* hashTable, int key , int oldValue , int newValue) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key && current->value == oldValue) { + current->value = newValue; + return 1; + } + current = current->next; + } + + return 0; +} + +//删除某一键值对,删除成功返回1,如果未找到该键值对返回0 +int deleteNode(HashTable* hashTable, int key , int value ) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + Node* last = current; + if(current != NULL){ + if (current->key == key && current->value == value){ + hashTable->table[index] = current->next; + free(current); + return 1; + } + current = current->next; + } + + while (current != NULL) { + if (current->key == key && current->value == value) { + last->next=current->next; + free(current); + return 1; + } + last = current; + current = current->next; + + } + + return 0; +} +``` +### 测试思路:(测试代码即test_hash()函数中内容) +1,初始化了哈希表,随机选取了四个键值对进行插入 +2,测试通过键寻找值,分成两种情况,找到和未找到 +3,修改键值对的值,若找到键值对输出新的值,若找不到,显示未找到该键值对 +4,删除特定键值对,同时证明对后续结点不产生影响 + + +## 4. 运行结果(##需结合运行测试截图按步骤说明##) +![screenshot](screen.png) +1. 第一部分 插入了四个键值对 +2. 第二部分 寻找key 13,在哈希表中,显示值为66;寻找key 24, 不在哈希表中,显示未找到 +3. 第三部分 将键值对3,99修改成3,100,修改成功,显示新值为100;将键值对2,99修改成2,100,哈希表中不存在键值对2,99,失败. +4. 第四部分 删除键值对3,100,证明3,100消失,同时不影响后续结点。 +5. 最后释放哈希表占用内存 \ No newline at end of file diff --git a/APP_Framework/Applications/app_test/test_hash/screen.png b/APP_Framework/Applications/app_test/test_hash/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..e22b2550996933e0b753c687c16ff6fbb5db8d43 GIT binary patch literal 130564 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 bINElsR*kVpS&+h;BkTn+u?9C>g5CcE{Q4Pt literal 0 HcmV?d00001 diff --git a/APP_Framework/Applications/app_test/test_hash/test_hash.c b/APP_Framework/Applications/app_test/test_hash/test_hash.c new file mode 100644 index 000000000..d08a83cee --- /dev/null +++ b/APP_Framework/Applications/app_test/test_hash/test_hash.c @@ -0,0 +1,218 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file: test_hash.c +* @brief: a application of hash function and hash test function +* @version: 1 +* @author: 樱园精机 +* @date: 2023/6/29 +*/ + +#include +#include +#include +#include +#ifdef ADD_XIZI_FETURES +#define TABLE_SIZE 10 + +// 定义哈希表中存储的元素结构 +typedef struct Node { + int key; + int value; + struct Node* next; +} Node; + +// 定义哈希表结构 +typedef struct HashTable { + Node** table; // 存储链表头指针的数组 +} HashTable; + +// 创建新节点 +Node* createNode(int key, int value) { + Node* newNode = (Node*)malloc(sizeof(Node)); + newNode->key = key; + newNode->value = value; + newNode->next = NULL; + return newNode; +} + +// 初始化哈希表 +HashTable* createHashTable() { + HashTable* hashTable = (HashTable*)malloc(sizeof(HashTable)); + hashTable->table = (Node**)calloc(TABLE_SIZE, sizeof(Node*)); + return hashTable; +} + +// 哈希函数,计算键的索引 +int hashFunction(int key) { + return key % TABLE_SIZE; +} + +// 在哈希表中插入键值对 +void insert(HashTable* hashTable, int key, int value) { + int index = hashFunction(key); + + Node* newNode = createNode(key, value); + + if (hashTable->table[index] == NULL) { + hashTable->table[index] = newNode; + } else { + Node* current = hashTable->table[index]; + while (current->next != NULL) { + current = current->next; + } + current->next = newNode; + } +} + +// 在哈希表中查找键是否存在 +int find(HashTable* hashTable, int key) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key) { + return 1; + } + current = current->next; + } + + return 0; // 未找到对应的值 +} + +// 在哈希表中查找键对应的值 +int get(HashTable* hashTable, int key) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key) { + return current->value; + } + current = current->next; + } + + return -1; // 未找到对应的值 +} + +int change(HashTable* hashTable, int key , int oldValue , int newValue) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + while (current != NULL) { + if (current->key == key && current->value == oldValue) { + current->value = newValue; + return 1; + } + current = current->next; + } + + return 0; // 未找到对应的键值对 +} + +int deleteNode(HashTable* hashTable, int key , int value ) { + int index = hashFunction(key); + + Node* current = hashTable->table[index]; + Node* last = current; + if(current != NULL){ + if (current->key == key && current->value == value){ + hashTable->table[index] = current->next; + free(current); + return 1; + } + current = current->next; + } + + while (current != NULL) { + if (current->key == key && current->value == value) { + last->next=current->next; + free(current); + return 1; + } + last = current; + current = current->next; + + } + + return 0; // 未找到对应的键值对 +} + +void TestHash(void) +{ + HashTable* hashTable = createHashTable(); + printf("hashmap created\n"); + + // 在哈希表中插入键值对 + insert(hashTable, 3, 99); + printf("key-value pairs 3,99 inserted\n"); + insert(hashTable, 7, 88); + printf("key-value pairs 7,88 inserted\n"); + insert(hashTable, 13, 66); + printf("key-value pairs 13,66 inserted\n"); + insert(hashTable, 17, 55); + printf("key-value pairs 17,55 inserted\n"); + printf("\n"); + // 查找键对应的值 + + printf("find key 13 in created hashmap\n"); + if(find(hashTable, 13)){ + int value = get(hashTable, 13); + printf("Value: %d\n", value); // Output: 66 + } else { + printf("key not found\n"); + } + + + printf("find key 24 in created hashmap\n"); + if(find(hashTable, 24)){ + int value = get(hashTable, 24); + printf("Value: %d\n", value); + } else { + printf("key not found\n"); + } + printf("\n"); + + printf("key-value pairs 3,99 changed to 3,100\n"); + if(change(hashTable,3,99,100)){ + printf("success!value now: %d\n",get(hashTable,3)); + } else { + printf("fail!key-value pairs 3,99 not found\n"); + } + + printf("key-value pairs 2,99 changed to 2,100\n"); + if(change(hashTable,2,99,100)){ + printf("success!value: %d\n",get(hashTable,2)); + } else { + printf("fail!key-value pairs 2,99 not found\n"); + } + + printf("\n"); + if(deleteNode(hashTable,3,100)){ + printf("key-value pairs 3,100 deleted\n"); + } else { + printf("key-value pairs 3,100 not found\n"); + } + + find(hashTable,3) ? printf("key 3 : in hashmap\n") : printf("key 3 : not in hashmap\n"); + find(hashTable,13) ? printf("key 13 : in hashmap\n") : printf("key 13 : not in hashmap\n"); + printf("\n"); + // free hash map + free(hashTable->table); + free(hashTable); + printf("hashmap freed\n"); + return; + +} +PRIV_SHELL_CMD_FUNCTION(TestHash, a hash test sample, PRIV_SHELL_CMD_MAIN_ATTR); +#endif \ No newline at end of file diff --git a/APP_Framework/Applications/main.c b/APP_Framework/Applications/main.c index e1de024b5..ba56cb88f 100644 --- a/APP_Framework/Applications/main.c +++ b/APP_Framework/Applications/main.c @@ -20,7 +20,7 @@ extern int FrameworkInit(); extern void ApplicationOtaTaskInit(void); int main(void) { - printf("Hello, world! \n"); + printf("Hello, world! \n Running on stm32f407-st-discovery\n"); FrameworkInit(); #ifdef APPLICATION_OTA ApplicationOtaTaskInit();