程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 8.2 順序表查找

8.2 順序表查找

編輯:關於C語言

    試想一下,要在散落的一大堆書中找你需要的一本書有多麻煩,如果把書擺列整齊,比如豎起來放到書架上,這樣從左往右或從右往左)依次查找你所需要的書,會變得很容易。

    把散落的一堆書可理解為一個集合,將它們擺列整齊放在書架上,就相當於構建了一個順序查找表,查找起來會容易一些。如果在擺列整齊的基礎上,將書名字按字母排列順序依次擺好,就構成了有序查找表。

順序表查找:順序查找。

有序表查找:折半查找,插值查找,斐波那契查找。

    現在重點講述順序查找。順序查找又叫線性查找,是最基本的查找技術,它的查找過程:從表中第一個或最後一個)記錄開始,諸葛進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查找成功,找到所查的記錄;如果知道最後一個或第一個)記錄,其關鍵字和給定值比較都不等時,則表中沒有所查的記錄,查找不成功。

#include <stdio.h>
#include <stdlib.h>
int arr[10] = {9, 5, 8, 3, 2, 7, 4, 0, 6, 1};
int SequentialSearch(int *a, int n, int key)
{
int i;
for(i=0; i<n; i++)
{
if(a[i]==key)
return i;
}
return -1;
}
int main()
{
int addr;
int key = 2;
addr = SequentialSearch(arr, 10, key);
if(addr == -1)
printf("查找失敗\n");
else
{
printf("查找成功\n");
printf("所在位置為:%d\n",addr);
}
return 0;
}

 

本文出自 “李海川” 博客,請務必保留此出處http://lihaichuan.blog.51cto.com/498079/1282314

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved