数据结构与算法(9)顺序查找

来源:互联网 发布:csol由于网络设定问题 编辑:程序博客网 时间:2024/06/05 18:38

顺序查找是在有序或者无序的表结构中查找与关键字相同的元素的位置,使用的方法是从表的一端到另一端进行暴力的对比查找,效率比较低,时间复杂的是O(n)。

测试代码

#include <stdio.h>#include <stdlib.h>#define LIST_SIZE 100typedef int KeyType;typedef char DataType[10];typedef struct{    KeyType key;    DataType data;}SqNode;typedef SqNode SqList[LIST_SIZE];/*顺序表,从[0, n)中进行查找k找到返回对应的位置索引,否则返回 -1*/int SqSearch(SqList L, int n, KeyType k){    int i = 0;    while (i < n && L[i].key != k){        ++i;    }    if (i >= n){        return -1;    }    else{        return i;    }}int main(){    SqList list;    int n = 10, i;    KeyType k;    KeyType a[] = { 3, 6, 2, 10, 1, 8, 5, 7, 4, 9 };    for (i = 0; i < n; ++i){        list[i].key = a[i];    }    printf("输入你需要查找的key: ");    scanf("%d", &k);    i = SqSearch(list, n, k);    if (i == -1){        printf("没有找到\n");    }    else{        printf("找到了,在%d 位置\n", i);    }    system("pause");    return 0;}
0 0
原创粉丝点击