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

溫馨提示×

c語言中如何實現查詢功能

小億
160
2023-12-01 01:17:11
欄目: 編程語言

在使用C語言編寫程序時,可以使用以下方法實現查詢功能:

  1. 使用線性查找:遍歷數組或列表,逐一比較元素與目標值,找到匹配的元素即可。這種方法適用于無序的數據集合。
#include <stdio.h>

int linearSearch(int arr[], int size, int target) {
    for (int i = 0; i < size; i++) {
        if (arr[i] == target) {
            return i; // 返回目標值在數組中的索引
        }
    }
    return -1; // 如果沒有找到目標值,返回-1
}

int main() {
    int arr[] = {3, 1, 5, 2, 4};
    int target = 5;
    int size = sizeof(arr) / sizeof(arr[0]);
    
    int result = linearSearch(arr, size, target);
    
    if (result != -1) {
        printf("目標值在數組中的索引為: %d\n", result);
    } else {
        printf("目標值未找到\n");
    }
    
    return 0;
}
  1. 使用二分查找:對于有序的數據集合,可以使用二分查找來提高查詢效率。二分查找的思想是將有序數據集合分成兩半,判斷目標值與中間元素的大小關系,從而確定目標值可能在哪一半中,然后再對該半部分進行二分查找,重復上述過程直至找到目標值或確定目標值不存在。
#include <stdio.h>

int binarySearch(int arr[], int size, int target) {
    int left = 0;
    int right = size - 1;

    while (left <= right) {
        int mid = left + (right - left) / 2;

        if (arr[mid] == target) {
            return mid; // 返回目標值在數組中的索引
        } else if (arr[mid] < target) {
            left = mid + 1; // 目標值在右半部分
        } else {
            right = mid - 1; // 目標值在左半部分
        }
    }

    return -1; // 如果沒有找到目標值,返回-1
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int target = 5;
    int size = sizeof(arr) / sizeof(arr[0]);

    int result = binarySearch(arr, size, target);

    if (result != -1) {
        printf("目標值在數組中的索引為: %d\n", result);
    } else {
        printf("目標值未找到\n");
    }

    return 0;
}

上述代碼示例中,分別演示了使用線性查找和二分查找來實現查詢功能。根據具體需求和數據集合的特點,可以選擇合適的方法來實現查詢功能。

1
洪泽县| 秀山| 盘山县| 江西省| 广丰县| 上林县| 宁明县| 墨竹工卡县| 巴楚县| 东明县| 枣强县| 岚皋县| 岱山县| 修文县| 涞水县| 枣庄市| 富宁县| 滁州市| 吴旗县| 乌兰察布市| 修文县| 唐山市| 龙山县| 中卫市| 广南县| 裕民县| 化隆| 天全县| 若尔盖县| SHOW| 南部县| 龙陵县| 南江县| 章丘市| 濉溪县| 永泰县| 财经| 汝阳县| 万安县| 湘西| 株洲市|