线性表的两种查找方法C语言
时间: 2024-02-16 10:03:41 浏览: 23
线性表的两种查找方法包括顺序查找和二分查找。
1. 顺序查找
顺序查找也叫线性查找,从表的一端开始,逐个将表中元素与给定关键字比较,直到找到了该关键字或搜索到了表的末尾为止。
C语言实现代码如下:
```
int seq_search(int a[], int n, int key) {
int i;
for (i = 0; i < n; i++) {
if (a[i] == key) {
return i;
}
}
return -1;
}
```
2. 二分查找
二分查找也叫折半查找,是一种效率较高的查找方法。它要求线性表必须采用顺序存储结构,而且表中的元素必须按关键字有序排列。
C语言实现代码如下:
```
int bin_search(int a[], int n, int key) {
int low = 0, high = n - 1, mid;
while (low <= high) {
mid = (low + high) / 2;
if (a[mid] == key) {
return mid;
} else if (a[mid] > key) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return -1;
}
```
以上两种查找方法都是常见的线性表查找算法。