91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
芮城县| 桦川县| 三明市| 内江市| 柘城县| 稷山县| 邵武市| 湾仔区| 桦甸市| 丽江市| 洛川县| 体育| 阜城县| 南陵县| 宁明县| 西林县| 萨嘎县| 灌阳县| 梁平县| 青川县| 鹤峰县| 淮安市| 灌云县| 廊坊市| 五峰| 仁寿县| 高安市| 天镇县| 田林县| 南城县| 萨嘎县| 南通市| 九寨沟县| 孟津县| 女性| 黎川县| 鲁甸县| 唐山市| 新余市| 铜梁县| 荣昌县|