中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言如何創建字典

小億
313
2023-11-22 15:51:36
欄目: 編程語言

在C語言中,并沒有直接提供字典這種數據結構,但可以通過自定義結構體和鏈表來實現類似字典的功能。以下是一種簡單的實現方式:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 定義字典節點結構體
typedef struct Node {
    char key[50];  // 鍵
    int value;     // 值
    struct Node* next;  // 指向下一個節點的指針
} Node;

// 創建新節點
Node* createNode(char* key, int value) {
    Node* newNode = (Node*)malloc(sizeof(Node));
    strcpy(newNode->key, key);
    newNode->value = value;
    newNode->next = NULL;
    return newNode;
}

// 向字典中插入鍵值對
void insert(Node** dictionary, char* key, int value) {
    Node* newNode = createNode(key, value);
    newNode->next = *dictionary;
    *dictionary = newNode;
}

// 從字典中查找鍵對應的值
int find(Node* dictionary, char* key) {
    Node* cur = dictionary;
    while (cur != NULL) {
        if (strcmp(cur->key, key) == 0) {
            return cur->value;
        }
        cur = cur->next;
    }
    return -1;  // 鍵不存在時返回-1
}

int main() {
    Node* dictionary = NULL;  // 初始化字典為空

    // 向字典中插入鍵值對
    insert(&dictionary, "apple", 1);
    insert(&dictionary, "banana", 2);
    insert(&dictionary, "orange", 3);

    // 從字典中查找鍵對應的值
    int value = find(dictionary, "banana");
    if (value != -1) {
        printf("Value: %d\n", value);
    } else {
        printf("Key not found.\n");
    }

    return 0;
}

這段代碼創建了一個簡單的字典,使用鏈表來存儲鍵值對。可以通過insert函數向字典中插入鍵值對,通過find函數從字典中查找鍵對應的值。在主函數中演示了如何使用這個字典。

0
海门市| 韶山市| 桦川县| 汉源县| 象州县| 忻州市| 峨眉山市| 鄄城县| 潼南县| 宁都县| 措美县| 临清市| 白河县| 杭锦后旗| 岚皋县| 建宁县| 甘泉县| 格尔木市| 濉溪县| 苍南县| 电白县| 洛阳市| 吴川市| 连城县| 济源市| 渑池县| 明光市| 南汇区| 离岛区| 田林县| 龙游县| 金阳县| 湖南省| 曲周县| 新化县| 岢岚县| 普兰县| 新巴尔虎右旗| 金门县| 布尔津县| 奉新县|