順序查找

假定有一個表list和一個待查找關鍵字searchnum,要找到表中關鍵字與 searchnum相匹配的記錄,如果表中list有n個記錄,且list[i].key表示記錄i的關鍵字值,可以通過依次檢查關鍵字值list[0].key,list[1].key,…list[n-1].key對其進行查找 ,直至找到該記錄所在位置,或者檢查完表中全部記錄爲止,這種方式就叫順序查找,時間複雜度:

i=0n1(i+1)/n=(n+1)/2=O(n)

代碼實現:

#include <iostream>
#include<stdio.h>
#define MAX_SIZE 100
typedef struct
{
   int key;
}element;
element list[MAX_SIZE];
using namespace std;
//順序查找
int seqsearch(element list[],int searchnum,int n)
{
   int i;
   //作爲結束查找的哨兵
   list[n].key=searchnum;
   for(i=0;list[i].key!=searchnum;i++);
   return ((i<n)? i:-1);
}
發佈了119 篇原創文章 · 獲贊 10 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章