顺序查找法
#include<stdio.h>
#define KeyType int
#define OtherType int
#define List_size 100
typedef struct{KeyType key;OtherType other;
}RecordType;
typedef struct{RecordType r[List_size];int length;
}Recordlist;
int SeqSearch(Recordlist l,int k)//沒有設置監視哨
{
int i=l.length;
while(i>=1&&l.r[i].key!=k)
i--;
if(i>=1)
return(i);
else
return (0);
}
int main(void)
{int i,x;Recordlist L;for(i=0;i<10;i++){printf("請輸入順序表中元素個數:\n"); scanf("%d",&L.length);printf("請輸入順序表中數據:\n"); for(i=1;i<=L.length;i++)scanf("%d",&L.r[i].key);printf("請輸入查找的元素\n");scanf("%d",&x);i=SeqSearch(L,x);if(i!=0) printf("查找結果為第%d個數\n",i); elseprintf("查找失敗!\n");}return 0;
}
l.r[0]為“監視哨”,可以防止越界的作用,也可以提高查找效率。
l.r[0]為“監視哨”,可以防止越界的作用,也可以提高查找效率。
總結
- 上一篇: 主网络程序函数
- 下一篇: 离散系统的李雅普诺夫稳定判据